在用户为cookiecutter.json
中的变量提供了一些值之后,有没有办法机器生成某些值?
我问的原因是:
所以我真的希望能够删除用户提示,并改为计算值。
我尝试的事情:
pre_gen_project.py
文件,以说明如何操作我在命令行上使用cookiecutter:
cookiecutter path_to_template
我错过任何技巧吗?
答案 0 :(得分:3)
几天前我需要这种精确的功能。我想出的解决方案是为cookiecutter编写一个包装器脚本,类似于下面提到的:
我的脚本生成一个随机字符串,用于Django项目。我打电话给我的剧本剪切:
#! /usr/bin/env python
from cookiecutter.main import cookiecutter
import os
rstring = ''.join([c for c in os.urandom(1024)
if c.isalnum()])[:64]
cookiecutter(
'django-template', # path/url to cookiecutter template
extra_context={'secret': rstring},
)
所以现在我只需运行cut-cut
并正常执行该过程。唯一的区别是我的cookiecutter.json
文件中名为 secret 的条目预填充了脚本中 rstring 中生成的值,通过 extra_context提供通过了。
您可以通过命令行修改脚本以接受模板,但在我的使用中我总是使用相同的模板,因此我只是传递一个硬编码值“django-template”,如上面的代码所示。