这些网址有效:
/admin
/admin/appname
但这不适用于任何模型,包括用户,群组或网站:
/admin/appname/modelname
例如,/admin/auth
有效并显示Groups
和Users
模型,但如果我点击任一模型,导航到admin/auth/user
,我会收到404发现错误。
我首先假设它可能是urls.py
中的一个问题,所以除了管理员之外我还注释掉了所有内容。它没有任何区别。这是我的urls.py
文件:
from django.conf.urls.defaults import *
from django.contrib import admin
urlpatterns = patterns('',
# main admin
(r'^admin/', include(admin.site.urls)),
)
admin.autodiscover()
以下是我在[{1}}中安装的应用:
settings.py
我当然已经尝试关闭服务器,运行INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'south',
)
(以及为使用南方的应用运行南迁移),然后再次使用syncdb
。没有区别。
我还尝试卸载并重新安装django(相同版本,1.3)。
Django按以下顺序尝试了这些URL模式:
runserver
^admin/ ^$ [name='index']
^admin/ ^logout/$ [name='logout']
^admin/ ^password_change/$ [name='password_change']
^admin/ ^password_change/done/$ [name='password_change_done']
^admin/ ^jsi18n/$ [name='jsi18n']
- 醇>
^admin/ ^r/(?P<content_type_id>\d+)/(?P<object_id>.+)/$
当前网址
^admin/ ^(?P<app_label>\w+)/$ [name='app_list']
与其中任何网址都不匹配。
答案 0 :(得分:4)
正如我在评论中提到的,您显然需要在之前使用admin.autodiscover()
行将其包含在urlpatterns
元组中。
这似乎是因为计算每个应用程序/模型的网址的代码 - admin.sites.AdminSite.get_urls
- 取决于在运行之前已经为管理员注册的模型。如果没有,则不会创建相关的URL。