gpt4 book ai didi

django - 如何解决 "django.core.exceptions.ImproperlyConfigured: Application labels aren' t unique, duplicates : foo"in Django 1. 7?

转载 作者:行者123 更新时间:2023-12-05 07:23:49 25 4
gpt4 key购买 nike

在升级到 Django 1.7 时,我从 ./manage.py 收到以下错误消息

$ ./manage.py 
Traceback (most recent call last):
File "./manage.py", line 16, in <module>
execute_from_command_line(sys.argv)
File "/home/johnc/.virtualenvs/myproj-django1.7/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 427, in execute_from_command_line
utility.execute()
File "/home/johnc/.virtualenvs/myproj-django1.7/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 391, in execute
django.setup()
File "/home/johnc/.virtualenvs/myproj-django1.7/local/lib/python2.7/site-packages/django/__init__.py", line 21, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/johnc/.virtualenvs/myproj-django1.7/local/lib/python2.7/site-packages/django/apps/registry.py", line 89, in populate
"duplicates: %s" % app_config.label)
django.core.exceptions.ImproperlyConfigured: Application labels aren't unique, duplicates: foo

问题是什么,我该如何解决?

最佳答案

问题在于,随着 Django 1.7 中对应用程序的更改,应用程序需要具有唯一标签。

默认情况下,应用标签是包名,所以如果你有一个与你的应用模块(在本例中为 foo)同名的包,你会点击这个错误。

解决方案是覆盖您应用的默认标签,并通过将其添加到 __init__.py 来强制加载此配置。

# foo/apps.py

from django.apps import AppConfig

class FooConfig(AppConfig):
name = 'full.python.path.to.your.app.foo'
label = 'my.foo' # <-- this is the important line - change it to anything other than the default, which is the module name ('foo' in this case)

# foo/__init__.py

default_app_config = 'full.python.path.to.your.app.foo.apps.FooConfig'

参见 https://docs.djangoproject.com/en/1.7/ref/applications/#for-application-authors

关于django - 如何解决 "django.core.exceptions.ImproperlyConfigured: Application labels aren' t unique, duplicates : foo"in Django 1. 7?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55756827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com