【发布时间】:2011-10-17 16:32:38
【问题描述】:
这些网址有效:
/admin
/admin/appname
但这不适用于任何模型,包括用户、组或站点:
/admin/appname/modelname
例如,/admin/auth 工作并显示 Groups 和 Users 模型,但如果我单击任一模型,导航到 admin/auth/user,我会收到 404 not found 错误。
我首先认为这可能是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()
这是我安装的应用程序,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,(以及为使用南的应用程序运行南迁移),并再次使用runserver。没有区别。
我也尝试卸载并重新安装 django(相同版本,1.3)。
Django 按以下顺序尝试了这些 URL 模式:
^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']当前 URL
admin/auth/user/与其中任何一个都不匹配。
【问题讨论】:
-
如果在导入之后将
admin.autodiscover()移到 urls.py 文件的顶部会发生什么? -
@DanielRoseman:嗯 .. 成功了,谢谢!但为什么呢?
标签: django django-admin