不(不完全是)
从我所见,目前没有以您希望的方式使用命令行标志的方法。
然而,根据我对这个完全相同的问题的研究,有两种主要途径可以解决这个问题,每种途径或多或少都取决于具体情况。
标准/个人背景值
如果您有标准的,通常是您希望在多个项目中使用的个人上下文值,则可以选择添加用户特定的配置。
您似乎可以.cookiecutterrc
在主目录中的文件中指定一些默认上下文设置。(当前文档可以在这里找到)。这最适合用于诸如电子邮件地址、全名、github 帐户名等相当静态的内容。
配置文件的格式为 yaml,示例结构如下:
default_context:
full_name: "Gavin Cooper"
email: "xxxxxx@xxxxx.com"
github_username: "gjcooper"
我假设这依赖于诸如 this 在大多数 cookiecutter 包中被赋予标准名称的字段。
项目特定的上下文值
此解决方案适用于当您有一个项目管理软件或其他脚本时,您希望将项目特定值(即 app_name)生成为 cookiecutter json 格式,然后在无需用户输入的情况下自动生成项目目录结构。
这需要编写一个非常短的 python 脚本来挂钩 cookiecutter 内部,但使用起来很简单:
from cookiecutter.main import cookiecutter
import json
with open('project_context.json') as jfile:
mycontext = json.load(jfile)
cookiecutter('<local or remote cookiecutter template file>',
extra_context=mycontext,
no_input=True)
我可以验证的这个解决方案对我有用。