在管理控制台中,我可以通过标准身份验证应用程序添加和编辑用户,并通过标准站点应用程序添加和编辑站点,但是如果我尝试添加一个组,我会收到一个缺少通常 URLconf 列表的 404 错误:
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/admin/auth/group/add/
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.
数据库中没有组,我可以访问http://127.0.0.1:8000/admin/auth/group/
并查看空列表。
对于平面页面,数据库中有条目,并且所有 SITE_ID 都与我的设置文件匹配。但是,在这种情况下,两者http://127.0.0.1:8000/admin/flatpages/flatpage/
(应该列出它们)并http://127.0.0.1:8000/admin/flatpages/flatpage/add/
给出 404 错误而没有给出 URLconf 信息。
平面页面的公共方面确实有效。所有内容都按预期提供。问题仅在管理控制台中。
这是我的 urls.py 文件的内容:
from django.conf.urls.defaults import *
from django.conf import settings
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r'^shortener|g|p/', include('charon_sheet.shortener.urls')),
(r'^admin/doc/', include('django.contrib.admindocs.urls')),
(r'^admin/', include(admin.site.urls)),
(r'^', include('charon_sheet.ghosts.urls')),
)
if settings.DEBUG:
urlpatterns += patterns('',
(r'^public/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT, 'show_indexes':True }),
)
我没有接触管理界面的自定义应用程序,因此没有 admin.py 文件。
这是我的中间件:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
)
我的模板上下文处理器:
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.media',
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.request',
'charon_sheet.context_processors.sharing_url_context_processor',
)
我安装的应用程序:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.flatpages',
'django.contrib.messages',
'charon_sheet.shortener',
'charon_sheet.ghosts',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
'django.contrib.admindocs',
)
我尝试了以下方法:
- 更改 urlpatterns 的顺序(特别是将 charon_sheet.ghosts.urls 放在管理行上方)
- 删除自定义上下文处理器
- 将 FlatpageFallbackMiddleware 放在中间件列表的各个位置
- 将我的应用程序放在 INSTALLED_APPS 列表中的管理应用程序下方
- 清除 Flatpage 数据库表
- 重新安装 Django
这些都没有改变错误。
这是使用 Django 1.3 和 python 2.6,并且在标准开发服务器上和在更类似于生产的环境中通过 Passenger 发生。
我已经没有想法尝试这个了。有任何想法吗?希望这很简单。