更改设置文件夹后加载问题 admin.site.urls
Issue loading admin.site.urls after changing the settings folder
我重新组织了 Django,方法如下:
config
- settings
- base.py
- local.py
urls.py
wsgi.py
在base.py/local.py
中:
ROOT_URLCONF = 'config.urls'
WSGI_APPLICATION = 'config.wsgi.application'
在manage.py
我改了:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local")
在wsgi.py
我改了:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local")
我在运行服务器上有以下错误:
\django\contrib\admin\sites.py", line 269, in get_urls
path('%s/%s/' % (model._meta.app_label, model._meta.model_name), include(model_admin.urls)),
AttributeError: 'AccountAdmin' object has no attribute 'urls'
与这一行有关:
path('admin/', admin.site.urls), # Django 2.0 syntax
如果我评论该行,我会收到以下错误:
django\contrib\admin\sites.py", line 79, in check
if modeladmin.model._meta.app_config in app_configs:
AttributeError: 'AccountAdmin' object has no attribute 'model
应用管理员在已安装的应用中,我不知道是什么导致了这个问题。
嗯...这里发生了几件事。一次一件事:
在您的 settings
目录下放置一个包含以下内容的 __init__.py
文件:
from .base import *
try:
from .local import *
LIVE = False
except ImportError:
LIVE = True
if LIVE:
try:
from .production import *
except ImportError:
pass
通过将其放入 __init__.py
文件中,您可以简单地使用 'config.settings'
引用您的 settings
文件,而不引用 local
或 production
( __init__.py
会处理它们)。
既然这已经不合适了,请将 uwsgi.py
和 manage.py
更改为:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
假设您已经完成了所有这些,它应该可以工作(这就是我多年来构建项目的方式并且从未出现过任何问题)。否则,请使用项目结构和 base.py
和 local.py
内容更新您的问题以解决问题。
我重新组织了 Django,方法如下:
config
- settings
- base.py
- local.py
urls.py
wsgi.py
在base.py/local.py
中:
ROOT_URLCONF = 'config.urls'
WSGI_APPLICATION = 'config.wsgi.application'
在manage.py
我改了:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local")
在wsgi.py
我改了:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local")
我在运行服务器上有以下错误:
\django\contrib\admin\sites.py", line 269, in get_urls
path('%s/%s/' % (model._meta.app_label, model._meta.model_name), include(model_admin.urls)),
AttributeError: 'AccountAdmin' object has no attribute 'urls'
与这一行有关:
path('admin/', admin.site.urls), # Django 2.0 syntax
如果我评论该行,我会收到以下错误:
django\contrib\admin\sites.py", line 79, in check
if modeladmin.model._meta.app_config in app_configs:
AttributeError: 'AccountAdmin' object has no attribute 'model
应用管理员在已安装的应用中,我不知道是什么导致了这个问题。
嗯...这里发生了几件事。一次一件事:
在您的 settings
目录下放置一个包含以下内容的 __init__.py
文件:
from .base import *
try:
from .local import *
LIVE = False
except ImportError:
LIVE = True
if LIVE:
try:
from .production import *
except ImportError:
pass
通过将其放入 __init__.py
文件中,您可以简单地使用 'config.settings'
引用您的 settings
文件,而不引用 local
或 production
( __init__.py
会处理它们)。
既然这已经不合适了,请将 uwsgi.py
和 manage.py
更改为:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
假设您已经完成了所有这些,它应该可以工作(这就是我多年来构建项目的方式并且从未出现过任何问题)。否则,请使用项目结构和 base.py
和 local.py
内容更新您的问题以解决问题。