【问题标题】:Cookiecutter - choices with a custom entryCookiecutter - 带有自定义条目的选项
【发布时间】:2022-01-03 11:13:02
【问题描述】:

我正在使用 cookicutter 包,我想知道是否有任何方法可以得到这样的东西:

#cookiecutter.json
{
"name": "default name",
"folder_name": ["foldername1", "foldername2", custom-created-folder-name]
}

所以,在创建 repo 时,我会选择选项 3 并提示输入我自己的 folder_name。我尝试浏览文档,但找不到任何对此的参考。

【问题讨论】:

    标签: python cookiecutter


    【解决方案1】:

    您没有很好的方法来执行此操作,因为您始终应该显示自定义文件夹的提示,但您可以执行以下操作:

    # cookiecutter.json
    {
        "folder_name": ["foldername1", "foldername2", "other"],
        "custom_folder_name": ""
    }
    
    # your template folder
    {% if not cookiecutter.folder_name == "other" %}{{cookiecutter.folder_name}}{% else %}{{cookiecutter.custom_folder_name}}{% endif %}
    

    会发生什么:

    $ cookiecutter template
    Select folder_name:
    1 - foldername1
    2 - foldername2
    3 - other
    Choose from 1, 2, 3 (1, 2, 3) [1]: 1
    custom_folder_name []: 
    $ ls
    foldername1  template
    
    $ cookiecutter template
    Select folder_name:
    1 - foldername1
    2 - foldername2
    3 - other
    Choose from 1, 2, 3 (1, 2, 3) [1]: 3
    custom_folder_name []: 
    Error: "." directory already exists
    
    $ cookiecutter template
    Select folder_name:
    1 - foldername1
    2 - foldername2
    3 - other
    Choose from 1, 2, 3 (1, 2, 3) [1]: 3
    custom_folder_name []: custom_folder
    $ ls
    custom_folder  foldername1  template
    
    $ cookiecutter template
    Select folder_name:
    1 - foldername1
    2 - foldername2
    3 - other
    Choose from 1, 2, 3 (1, 2, 3) [1]: 2
    custom_folder_name []: not_used
    $ ls
    custom_folder  foldername1  foldername2  template
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-12
      • 2010-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多