繁体   English   中英

为什么 django 继续将我的应用程序命名为以前的名称?

[英]Why does django continues naming my app as the previous name?

谢谢阅读。

当我运行“py manage.py makemigrations”时,我收到以下消息:“ModuleNotFoundError: No module named 'transformaTe'”

这是 apps.py 代码:

from django.apps import AppConfig


class TransformateConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'transformate'

名称在那里和我的 INSTALLED_APPS 中更新:

INSTALLED_APPS = [
'transformate',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

我还应该在哪里查看更改应用程序的名称?

这是应用程序的简化结构:

\my-app
  \transformate
    admin.py
    apps.py
    models.py
    urls.py
    views.py
   \my-app
     asgi.py
     settigs.py
     urls.py
     wsgi.py

所有这一切都发生在我重命名应用程序时,因为我在创建一个名为 transformaTe_myuser 的表时遇到了问题,所以我认为这一切都可能是由大写字母的使用引起的。

在 Django 中重命名现有应用程序是否有更好的方法? 我按照以下步骤操作,除了迁移部分(因为我删除了数据库和迁移文件夹): https://odwyer.software/blog/how-to-rename-an-existing-django-application

谢谢你的帮助。

好吧,事实证明,当您运行 makemigrations 时,您必须检查项目 urls.py 文件,这是唯一导致我的迁移崩溃的事情。

原始我的应用程序/网址。 文件:

 from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('', include('transformaTe.urls')),
    path('admin/', admin.site.urls),
]

需要的文件:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('', include('transformate.urls')), # Here was the bug
    path('admin/', admin.site.urls),
]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM