网站不显示管理面板。我该怎么办?
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8001/admin/
Raised by: news.views.PageViews
它能与什么联系在一起?该怎么办呢。
class PageViews(ListView):
template_name = 'page.html'
paginate_by = 8
context_object_name = 'posts'
ordering = ['-datetime']
model = Page
paginate_orphans = 1
def dispatch(self, request, *args, **kwargs):
slug = kwargs.get('slug')
try:
self.category = Category.objects.get(slug=slug)
except Category.DoesNotExist:
raise Http404
return super().dispatch(request, *args, **kwargs)
def get_queryset(self):
return Page.objects.filter(category=self.category)
我的urls如下:
path("register/", views.register, name="register"),
path("logout/", views.logout_request, name="logout"),
path("login/", views.login_request, name="login"),
path("profile/", views.account, name="account"),
path('', HomeView.as_view(), name='home'),
path('<slug:slug>/', views.PageViews.as_view(), name='page'),
path('robots.txt', views.robots_view),
path('admin/', admin.site.urls),
path('accounts/', include('django.contrib.auth.urls')),
path('summernote/', include('django_summernote.urls')),
发布于 2019-10-21 03:49:57
我敢打赌,你的PageViews网址控制器太宽了,Django试图用渣' admin‘来执行PageViews,而不是打开管理站点。
请注意,这只是一个胡乱猜测--你的问题很难回答。在发布另一篇文章之前,请阅读本文:How do I ask a good question
发布于 2019-10-21 05:24:44
Django按顺序检查URL模式。由于"admin“将作为一个插件有效,因此URL与PageViews模式相匹配,并调用该视图。
解决方案是将更具体的URL放在列表的顶部,在本例中为admin。
发布于 2019-10-21 09:29:18
您只需更改URL的顺序即可。Django自上而下地尝试它们。正在发生的情况是,Django正在将' admin‘作为一个slug处理,并试图找到一个带有admin的slug的url。
将您的urls.py
更改为如下所示:
path("register/", views.register, name="register"),
path("logout/", views.logout_request, name="logout"),
path("login/", views.login_request, name="login"),
path("profile/", views.account, name="account"),
path('admin/', admin.site.urls), #move your admin/ to here
path('', HomeView.as_view(), name='home'),
path('<slug:slug>/', views.PageViews.as_view(), name='page'), #where your admin url is going to get 404ed
path('robots.txt', views.robots_view),
path('accounts/', include('django.contrib.auth.urls')),
path('summernote/', include('django_summernote.urls')),
https://stackoverflow.com/questions/58476496
复制相似问题