【问题标题】:Duplicate app naming issue in Django without renaming the appDjango中重复的应用程序命名问题而不重命名应用程序
【发布时间】:2021-10-07 06:54:02
【问题描述】:

我知道还有其他一些关于此的帖子,重命名我的 messages 应用程序可能会解决问题,但我不想更改我的 messages 应用程序的名称,以及来自 @ 的标签解决方案987654321@ 只是返回此错误:

django.core.exceptions.ImproperlyConfigured: The app label 'email.messages' is not a valid Python identifier.

上述错误是在将labeldefault_app_config 字段添加到MessagesConfig 之后,就像其他帖子所暗示的那样:

class MessagesConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'messages'
    label = 'email.messages'
    default_app_config = 'messages.apps.MessagesConfig'

我在settings.py中的INSTALLED_APPS如下:

INSTALLED_APPS = [
    # my apps
    # 'accounts',
    'subscribers',
    'django_filters',
    'accounts.apps.AccountsConfig',
    'core',
    'messages',
    # 'messages.apps.MessagesConfig',
    # 'email.messages',

    # django apps
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

我收到了这个错误:

django.core.exceptions.ImproperlyConfigured: Application labels aren't unique, duplicates: messages

对此的实际解决方法是什么(除了将 messages 重命名为不同的应用名称)?谢谢...

【问题讨论】:

    标签: django


    【解决方案1】:

    结果标签字段不能包含句点 - 从 label = 'email.messages' 更改为 label = 'email_messages' 有效

    【讨论】:

      【解决方案2】:

      因为这个

      'django.contrib.messages',
      

      如果您想接收消息并且不想重命名它,您必须对此发表评论

      'django.contrib.messages',
      

      【讨论】:

      • 嗯 django.contrib.messages 究竟做了什么?如果它很重要,我不想评论它。如果最好只是重命名它,那就这样吧
      • 如果注释掉,我也会收到此错误:(admin.E406) 'django.contrib.messages' must be in INSTALLED_APPS in order to use the admin application
      • 'django.contrib.messages',用于当您想向用户显示消息时,例如在注册时,如果用户使用重复的名称或电子邮件,您提出消息,我很高兴你找到您的解决方案
      猜你喜欢
      • 2013-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-21
      • 2011-06-14
      • 1970-01-01
      • 2011-11-05
      • 2011-08-06
      相关资源
      最近更新 更多