You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cookiecutter中仅提示day变量,跳过派生的directory_name?

解决方法

有两种简洁的方式实现只提示输入day,不提示派生的directory_name:

方法一:使用私有变量(推荐)

在cookiecutter.json中给directory_name加上下划线前缀,将其标记为私有变量,Cookiecutter会自动跳过私有变量的输入提示,但模板中依然可以正常引用它:

{
    "day": "1",
    "_directory_name": "day-{{ cookiecutter.day }}"
}

后续在模板里需要用到这个目录名时,直接用{{ cookiecutter._directory_name }}即可,比如将项目根目录命名为{{ cookiecutter._directory_name }},或者在配置文件中引用。

方法二:移除cookiecutter.json中的字段,直接在模板中计算

如果不需要在配置中保留directory_name字段,完全可以从cookiecutter.json里删掉它,直接在模板的需要位置使用day-{{ cookiecutter.day }}:

  1. 修改后的cookiecutter.json:
{
    "day": "1"
}
  1. 把模板的根目录命名为day-{{ cookiecutter.day }},生成项目时会自动用输入的day值生成对应目录名;如果模板内部其他地方需要复用这个名称,还可以用Jinja2的变量赋值提前定义:
{% set directory_name = "day-" ~ cookiecutter.day %}

之后在模板中直接用{{ directory_name }}引用即可。


内容的提问来源于stack exchange,提问作者Alper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 01:35:28