Django:项目名称的角色

Django:项目名称的角色,django,Django,我正在考虑说明一个新的Django项目,现在我必须选择一个项目名称,以便键入: djangoadmin startproject <something> djangoadmin启动项目 这引起了人们的怀疑,我不确定这个名字,我想我将来可能会想改变它。因此,我有两个问题: 项目名称在项目代码和部署中扮演什么角色 我需要采取哪些步骤来更改项目名称 谢谢大家! 主项目名称用作命名空间的基础 默认情况下,在settings.py中有一行:“ROOT_URLCONF='somethin

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

djangoadmin startproject <something>
djangoadmin启动项目
这引起了人们的怀疑,我不确定这个名字,我想我将来可能会想改变它。因此,我有两个问题:

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

谢谢大家!

主项目名称用作命名空间的基础

默认情况下,在settings.py中有一行:“ROOT_URLCONF='something.url'”

要更改项目名称,您需要更改引用它的每个导入


当然,您可以始终使用没有“something”前缀的模块,然后您必须确保模块之间没有名称/命名空间冲突。我使用这个选项,因为我可以在几份副本中获得相同的代码,而不需要额外的麻烦。

晚到了这个聚会,但为了将来的参考,这可能会帮助一些人。我刚刚不得不更改一个项目名称,因为它与第三方应用程序的名称冲突。更改项目名称比更改应用程序名称更容易!(Django 1.11)

文件夹结构

project/
    manage.py
    project/
         settings.py
         urls.py
         wsgi.py
    venv/
  • 如果在
    venv
    中使用虚拟环境,则使用
    pip freeze生成最新的
    requirements.txt
  • 将两个
    project/
    文件夹重命名为
    newproject
  • 将python文件中的
    project
    更改为
    newproject
  • manage.py,查找DJANGO\u设置\u模块

    settings.py,查找DJANGO_settings_模块和WSGI_应用程序,以及注释。如果希望保留数据,则可以且应该保持数据库名称和数据库用户不变

    url.py,以三引号字符串形式

    wsgi.py,DJANGO\u设置\u模块加上注释

  • 如果使用虚拟环境,则需要重新创建它。我将
    venv
    重命名为
    old.venv
    ,然后使用
    virtualenv-3 venv
    ,然后使用
    pip安装和在1生成的需求文件。当确保新的能正常工作时,垃圾桶
    旧的.venv

  • /path/to/project
    还将在系统配置文件中提供功能,如
    /etc/nginx
    和gunicorn的
    .service
    文件,该文件需要更改为
    /path/to/newproject

  • 重新启动服务器并进行测试。他应该在工作

  • 现在,您可以将名为
    project
    的应用程序添加到已安装的应用程序中

    我现在知道,将内部Django项目称为
    ${my_org\u name}}或类似项目是个好主意,这样它们就不会与第三方应用程序发生冲突