问题描述
我有 django-cms 项目,我会将它用作样板,就像当我得到一个项目时,我只运行一个命令,它应该生成初始设置/复制具有不同名称的现有项目并更改一些内容。
"""
Wsgi config for mysite project.
It exposes the Wsgi callable as a module-level variable named ``application``.
For more information on this file,see
https://docs.djangoproject.com/en/3.1/howto/deployment/wsgi/
"""
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE","mysite.settings.dev")
application = get_wsgi_application()
所以目前项目名称是 mysite
但是当我为另一个客户/项目重新生成相同的项目时,项目名称应该不同,就像 mywebsitepro
我的意思是,一些文本/代码应该替换为我给定的。
有人知道我如何完成它吗?就像我们运行 django 命令 django-admin startproject <projectname>
时,您可能会注意到,第一个生成的文件名的所有位置都与我们在命令参数中给出的相同。
可能的解决方案是什么?有没有这样的工具?
解决方法
实际上,据我所知,您需要一组包含源代码的模板,以便您可以用值替换一些变量。
对于这种类型的系统,您应该使用模板引擎。您可以尝试一些开箱即用的工具,而不是重新发明轮子。例如Telosys (https://www.telosys.org),一个基于著名的Velocity 模板引擎的轻量级代码生成器(免费和开源) > (http://velocity.apache.org)。
一些 Python 应用程序模板已经可用(不适用于 Django,但可以作为示例):