【问题标题】:Django Admin application no working on URLDjango Admin 应用程序无法处理 URL
【发布时间】:2010-08-18 13:48:32
【问题描述】:

在我的 urls 文件中,我已将 Django 管理应用程序配置为运行 url /adminDJ/。但是它不运行。它加载了我自己的管理内容。这是我的 urls.py:

 (r'^admin/add/member/$', 'astonomyStuff.attendance.views.newMember'),
 (r'^admin/add/$', 'astonomyStuff.attendance.views.addPage'), 
(r'^admin/$', 'astonomyStuff.attendance.views.adminPage'),
 (r'^adminDJ/$', include(admin.site.urls)),
 (r'^talks/$', 'astonomyStuff.attendance.views.talksIndex'),
 (r'^talks/past/$', 'astonomyStuff.attendance.views.viewAllTalks'),
 (r'^members/$', 'astonomyStuff.attendance.views.viewMembers'),
 (r'^members/(?P<member_number>[^/]+)/$', 'astonomyStuff.attendance.views.viewMember'), 
 (r'^members/(?P<member_number>[^/]+)/delete$', 'astonomyStuff.attendance.views.deleteMember'),
 (r'^admin/add/talk/$', 'astonomyStuff.attendance.views.newTalk'),
 (r'^talks/(?P<talk_title>[^/]+)/$', 'astonomyStuff.attendance.views.viewTalk'), 
 (r'^attendance/(?P<talk_title>[^/]+)/$', 'astonomyStuff.attendance.views.viewAttendance'),  
 (r'^databrowse/(.*)', databrowse.site.root),
 (r'^adminDoc/doc/', include('django.contrib.admindocs.urls')),
 (r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'login.html'}),
 (r'^accounts/profile/$', 'astonomyStuff.attendance.views.adminPage'),
 (r'^admin/add/attendance/$', 'astonomyStuff.attendance.views.addAttendance'),
 (r'^members/(?P<member_number>[^/]+)/edit$', 'astonomyStuff.attendance.views.editMember'),
 (r'^public/talks/$', 'astonomyStuff.attendance.views.publicViewTalks')

我已经重新安排了订单,看看这是否是问题所在,但这并没有解决。 django 管理应用程序必须在/admin/ 上运行吗?

编辑

我之前运行过管理应用程序,只是为了让您知道它只是在我玩弄 url 时才崩溃。

编辑 2

这是我完整的 urls.py:

from django.conf.urls.defaults import *

from astonomyStuff.attendance.models import Member
from astonomyStuff.attendance.models import Non_Member
from astonomyStuff.attendance.models import Talk
from astonomyStuff.attendance.models import Event_Attendance
from django.contrib import admin
from django.contrib import databrowse


admin.autodiscover()
admin.site.register(Member)
admin.site.register(Non_Member)
admin.site.register(Talk)
admin.site.register(Event_Attendance)   
databrowse.site.register(Member)
databrowse.site.register(Non_Member)
databrowse.site.register(Talk)
databrowse.site.register(Event_Attendance)

urlpatterns = patterns('',
# Example:
# (r'^astonomyStuff/', include('astonomyStuff.foo.urls')),

# Uncomment the admin/doc line below and add 'django.contrib.admindocs' 
# to INSTALLED_APPS to enable admin documentation:
# (r'^admin/doc/', include('django.contrib.admindocs.urls')),

# Uncomment the next line to enable the admin:
 # (r'^admin/add/member/$', 'astonomyStuff.attendance.views.newMember'),
 # (r'^admin/add/$', 'astonomyStuff.attendance.views.addPage'), 
 #     (r'^admin/$', 'astonomyStuff.attendance.views.adminPage'),
 (r'^admin/$', include(admin.site.urls)),
 (r'^talks/$', 'astonomyStuff.attendance.views.talksIndex'),
 (r'^talks/past/$', 'astonomyStuff.attendance.views.viewAllTalks'),
 (r'^members/$', 'astonomyStuff.attendance.views.viewMembers'),
 (r'^members/(?P<member_number>[^/]+)/$', 'astonomyStuff.attendance.views.viewMember'), 
 (r'^members/(?P<member_number>[^/]+)/delete$', 'astonomyStuff.attendance.views.deleteMember'),
 # (r'^admin/add/talk/$', 'astonomyStuff.attendance.views.newTalk'),
 (r'^talks/(?P<talk_title>[^/]+)/$', 'astonomyStuff.attendance.views.viewTalk'), 
 (r'^attendance/(?P<talk_title>[^/]+)/$', 'astonomyStuff.attendance.views.viewAttendance'),  
 (r'^databrowse/(.*)', databrowse.site.root),
 (r'^adminDoc/doc/', include('django.contrib.admindocs.urls')),
 (r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'login.html'}),
 (r'^accounts/profile/$', 'astonomyStuff.attendance.views.adminPage'),
 # (r'^admin/add/attendance/$', 'astonomyStuff.attendance.views.addAttendance'), 
 (r'^members/(?P<member_number>[^/]+)/edit$', 'astonomyStuff.attendance.views.editMember'),
 (r'^public/talks/$', 'astonomyStuff.attendance.views.publicViewTalks'),
)

【问题讨论】:

  • 不,管理应用程序不必在 /admin/ 上运行 - 我已经在其他地方愉快地运行了实例。
  • 那么您可以看到我的网址没有问题吗?关于为什么它可能不起作用的任何其他想法

标签: django django-urls


【解决方案1】:

不是这个(r'^adminDJ/$', include(admin.site.urls)),

但是这个(r'^adminDJ/', include(admin.site.urls)), ##note, no $ in the regex

记住伙计们,要检查你的正则表达式...

【讨论】:

  • 不,那还没有解决。我有$,因为我一直在尝试它。
  • 尝试将 Django 管理正则表达式作为 urlconf 中的第一项
  • 没有尝试过,甚至将其改回/admin/并注释掉我的管理应用程序仍然没有成功。
  • 如果您恢复到原始设置但它不起作用......您实际上并没有恢复到原始设置。你在做 admin.autodiscover 吗?
  • 你为什么在你的 urls.py 而不是在 admin.py 中为管理员注册模型?并且 (r'^admin/$', include(admin.site.urls)) 是错误的 - 正则表达式终止符意味着它永远不会超出 'admin/'
【解决方案2】:

这可能没什么,但它引起了我的注意。从第一个sn-p开始:

(r'^admin/$', 'astonomyStuff.attendance.views.adminPage'), 
(r'^adminDJ/$', include(admin.site.urls)),

还有第二个sn-p:

(r'^admin/$', include(admin.site.urls)),

这是你想要的吗?第一个 sn-p 使用 ^adminDJ/$ 而第二个使用 admin/$ 对面 include(admin.site.urls)

是这两个文件吗?两者都使用吗?在这种情况下,第一个 sn-p 可以很好地覆盖第二个,从而导致您的管理视图显示而不是 Django 的。

【讨论】:

  • 啊,不,我想要第一种方式,但它无法使用它的原始设置。这就是我发布整个文件的原因。
猜你喜欢
  • 2017-08-09
  • 2013-02-06
  • 2015-09-05
  • 2017-12-20
  • 1970-01-01
  • 2016-01-15
  • 2012-07-02
  • 2016-07-20
  • 2011-08-02
相关资源
最近更新 更多