当前位置: 首页 > 面试题库 >

如何更改Django应用的名称?

叶明辉
2023-03-14
问题内容

我通过重命名应用程序的文件夹,导入及其所有引用(模板/索引)来更改了Django中应用程序的名称。但是现在当我尝试运行时出现此错误python manage.py runserver

Error: Could not import settings 'nameofmynewapp.settings' (Is it on sys.path?): No module named settings

如何调试和解决此错误?有什么线索吗?


问题答案:

请按照以下步骤在Django中更改应用的名称:

  1. 重命名项目根目录中的文件夹
  2. 更改为你的应用程序的任何引用他们的依赖关系,即应用程序的views.py,urls.py“manage.py”,和settings.py文件。
  3. django_content_type使用以下命令编辑数据库表:UPDATE django_content_type SET app_label='<NewAppName>' WHERE app_label='<OldAppName>'
  4. 同样,如果你有模型,则必须重命名模型表。供postgres使用ALTER TABLE <oldAppName>_modelName RENAME TO <newAppName>_modelName。对于mysql我也认为它是相同的(如@null_radix所述)
  5. (对于Django> = 1.7),更新django_migrations表以避免重新运行以前的迁移:UPDATE django_migrations SET app='<NewAppName>' WHERE app='<OldAppName>'。注意:对于Django 1.8+是否需要执行此步骤,存在一些争论(在注释中)。如果有人确定,请在此处更新。
  6. 如果你models.py的的元类已app_name列出,请确保也将其重命名(由@will提及)。
  7. 如果你已在应用程序中为statictemplates文件夹命名空间,则还需要重命名它们。例如,重命名old_app/static/old_appnew_app/static/new_app
  8. 要重命名django models,你需要更改django_content_type.nameDB中的条目。对于PostgreSQL使用UPDATE django_content_type SET name='<newModelName>' where name='<oldModelName>' AND app_label='<OldAppName>'
    元点(如果使用virtualenv):值得注意的是,如果要重命名包含virtualenv的目录,则env中可能会有几个文件包含绝对路径,并且也需要更新。如果你遇到诸如此类的错误,ImportError: No module named …可能是罪魁祸首。(感谢@danyamachine提供此功能)。


 类似资料:
  • 问题内容: 我如何在’django.contrib.sessions.models’中的Meta类中更改信息,以便我的项目可以具有统一的表名,但应用程序的功能相同? 谢谢 问题答案: 您可以尝试以下方法: 编辑 以上解决方案会引发错误,但可以进行以下工作:

  • 我只是按照这个页面的说明做了一个Flutter app,我在谷歌上搜索了如何更改应用程序的名称,找到了这个答案。但是我不能从清单文件中更改应用程序的名称。最初是。我将其更改为,它给出了错误 如何重置此错误并更改名称?

  • 问题内容: 我正在尝试像SQL中的别名一样更改DRF序列化器中的“模型”字段名称。我尝试了不同的方法,但无法成功。 models.py serializers.py 我也曾尝试在Django Queryset中添加别名,但无法更改。 更新 这是我面临的例外 / ViewName /’模块’对象上的AttributeError没有属性’Field’ 我怎样才能做到这一点? 问题答案: 序列化程序字段

  • 我试着从中进行更改,但它得到了更改,但Flutter提供了一种方法来实现这一点吗?

  • 问题内容: 可以在Django中更改上传文件的文件名吗?我搜索了,但找不到任何答案。 我的要求是,无论何时上传文件,其文件名都应以以下格式更改。 非常感谢你… 问题答案: 你如何上传文件?我以为。 FileField.upload_to的文档说,该字段 也可以是可调用的,例如函数,将被调用以获得上载路径,包括文件名。该可调用对象必须能够接受两个参数,并返回要传递给存储系统的Unix样式的路径(带有

  • 我刚刚完成了我的第一个android应用程序,并生成了一个apk文件在我的手机上测试。然后我意识到我在制作项目时留下了默认的“My Application”名称。所以安装的应用程序名为“我的应用程序”。如何更改应用程序的名称?