请教个关于 cookiecutter 的正确使用方式问题

120 天前
 Etuloser
https://github.com/cookiecutter/cookiecutter
cookiecutter 主要用来生成项目模版,在初始化的同时填入一些变量来替换掉模版中预填的值。

我在实际使用过程中主要遇到以下问题:
由于一些关键文件的代码使用`{{}}`的形式预填值,导致直接运行项目的时候无法正常启动,给后续调试更新带来困难。

有什么好的方法解决嘛,或者有其他的工具可以实现这个功能嘛。

这个是我的仓库:
https://github.com/Etuloser/fastapi-clean-template
798 次点击
所在节点    Python
6 条回复
Alias4ck
120 天前
https://github.com/cookiecutter/cookiecutter/issues/1088#issuecomment-416183503

```
{{ this_will_be_rendered }}

{% raw %}
{{ this_will_not }}
{% endraw %}
```
Etuloser
120 天前
@Alias4ck 不知道是否是我表述不清楚,我的意思是 cookiecutter 会侵入源代码导致项目整体无法运行,必须使用生成后的代码才能正常运行

比如在 DRF 模版中,路由文件如下:
https://github.com/Etuloser/cookiecutter-DRF/blob/main/%7B%7B%20cookiecutter.project_slug%20%7D%7D/src/urls.py

这个时候直接运行项目肯定是会报错的,但是我又不想生成一个项目来调试,而是直接调试我的模版。
alexsz
120 天前
@Etuloser 用正则检查? re.match(r'\{\{ ?cookiecutter\.*? ?\}\}')
Alias4ck
120 天前
那你是想 debug jinja template render 咯?
saber000
119 天前
可以基于这个工具来搞 https://github.com/cruft/cruft
修改模板-->同步到最终项目-->运行调试-->回头修改模板
Etuloser
118 天前
@saber000 谢谢,可以一定程度上解决这个问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1007223

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX