首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当我写http://localhost:8001/admin/时,网站不显示管理面板

当我写http://localhost:8001/admin/时,网站不显示管理面板
EN

Stack Overflow用户
提问于 2019-10-21 03:22:54
回答 3查看 74关注 0票数 0

网站不显示管理面板。我该怎么办?

代码语言:javascript
运行
复制
Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8001/admin/
Raised by:  news.views.PageViews

它能与什么联系在一起?该怎么办呢。

代码语言:javascript
运行
复制
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如下:

代码语言:javascript
运行
复制
    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')),
EN

回答 3

Stack Overflow用户

发布于 2019-10-21 03:49:57

我敢打赌,你的PageViews网址控制器太宽了,Django试图用渣' admin‘来执行PageViews,而不是打开管理站点。

请注意,这只是一个胡乱猜测--你的问题很难回答。在发布另一篇文章之前,请阅读本文:How do I ask a good question

票数 0
EN

Stack Overflow用户

发布于 2019-10-21 05:24:44

Django按顺序检查URL模式。由于"admin“将作为一个插件有效,因此URL与PageViews模式相匹配,并调用该视图。

解决方案是将更具体的URL放在列表的顶部,在本例中为admin。

票数 0
EN

Stack Overflow用户

发布于 2019-10-21 09:29:18

您只需更改URL的顺序即可。Django自上而下地尝试它们。正在发生的情况是,Django正在将' admin‘作为一个slug处理,并试图找到一个带有admin的slug的url。

将您的urls.py更改为如下所示:

代码语言:javascript
运行
复制
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')),
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58476496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档