我正在考虑说明一个新的Django项目,我现在必须选择一个项目名称,所以我可以输入:
djangoadmin startproject <something>
这引起了怀疑,我不确定这个名字,我认为我可能希望将来改变它。所以,我有两个问题:
谢谢!
答案 0 :(得分:3)
主项目名称用作命名空间的基础。
默认情况下,您将拥有settings.py行:&#34; ROOT_URLCONF =&#39; something.urls&#39;&#34;。
要更改项目名称,您需要更改引用它的每个导入。
当然,您可以随时使用没有&#39;某些内容的模块。前缀,那么您必须确保模块之间不存在名称/命名空间冲突。我使用此选项,因为我可以在几个副本中使用相同的代码,而无需额外的麻烦。
答案 1 :(得分:1)
这个派对迟到了,但为了将来的参考,这可能对某人有所帮助。我只需更改项目名称,因为它与第三方应用程序的名称发生冲突。更改项目名称比应用程序名称更容易! (Django 1.11)
文件夹结构
project/
manage.py
project/
settings.py
urls.py
wsgi.py
venv/
venv
中使用虚拟环境,请使用requirements.txt
pip freeze
project/
个文件夹重命名为newproject
project
更改为newproject
:manage.py ,寻找DJANGO_SETTINGS_MODULE
settings.py ,查找DJANGO_SETTINGS_MODULE和WSGI_APPLICATION以及评论。假设您要保留数据,您可以而且应该保持数据库名称和数据库用户不变。
urls.py ,采用三引号字符串
wsgi.py ,DJANGO_SETTINGS_MODULE以及评论
如果使用虚拟环境,则需要重新创建它。我将venv
重命名为old.venv
,然后重命名为virtualenv-3 venv
,然后使用pip install
和您在1生成的需求文件。确认新版本正常工作时,将old.venv
删除AOK。
/path/to/project
还将包含系统配置文件,例如/etc/nginx
和.service
文件,用于gunicorn,需要更改为/path/to/newproject
。
重启服务器并进行测试。应该有效。
现在,您可以将名为project
的应用添加到您的INSTALLED_APPS!
我现在知道调用内部Django项目${my_org_name}_something
或类似项目是个好主意,因此它们不会与第三方应用程序发生冲突。