Django:项目名称的作用

时间:2011-03-23 15:31:05

标签: django

我正在考虑说明一个新的Django项目,我现在必须选择一个项目名称,所以我可以输入:

djangoadmin startproject <something>

这引起了怀疑,我不确定这个名字,我认为我可能希望将来改变它。所以,我有两个问题:

  • 项目名称在项目代码和部署中扮演什么角色?
  • 我需要采取哪些步骤来更改项目名称?

谢谢!

2 个答案:

答案 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/
  1. 如果在venv中使用虚拟环境,请使用requirements.txt
  2. 生成最新的pip freeze
  3. project/个文件夹重命名为newproject
  4. 在python文件中将project更改为newproject
  5. manage.py ,寻找DJANGO_SETTINGS_MODULE

    settings.py ,查找DJANGO_SETTINGS_MODULE和WSGI_APPLICATION以及评论。假设您要保留数据,您可以而且应该保持数据库名称和数据库用户不变。

    urls.py ,采用三引号字符串

    wsgi.py ,DJANGO_SETTINGS_MODULE以及评论

    1. 如果使用虚拟环境,则需要重新创建它。我将venv重命名为old.venv,然后重命名为virtualenv-3 venv,然后使用pip install和您在1生成的需求文件。确认新版本正常工作时,将old.venv删除AOK。

    2. /path/to/project还将包含系统配置文件,例如/etc/nginx.service文件,用于gunicorn,需要更改为/path/to/newproject

    3. 重启服务器并进行测试。应该有效。

    4. 现在,您可以将名为project的应用添加到您的INSTALLED_APPS!

      我现在知道调用内部Django项目${my_org_name}_something或类似项目是个好主意,因此它们不会与第三方应用程序发生冲突。