Django 管理员/返回 404

如何解决Django 管理员/返回 404

http://127.0.0.1:8000/ 启动开发服务器

未找到:/admin/ [30/May/2021 20:33:56] "GET /admin/ HTTP/1.1" 404 2097

项目/urls.py

from django.contrib import admin
from django.urls import include,path

urlpatterns = [
        path('',include('marketability.mkbl_urls')),path('admin/',admin.site.urls),path(r'^ckeditor/',include('ckeditor_uploader.urls')),]

变体 path(r'admin/',path(r'^admin/', 也不起作用。

project/marketability/mkbl_urls.py

from django.urls import path
from django.views.generic.base import RedirectView,TemplateView
from . import views

app_name = 'marketability'

handler404 = 'marketability.views.handler404'

urlpatterns = [
    path('',views.home,name="home"),path('<slug:cat_>/',views.page_Category_Main,name='cat'),path('<slug:cat_>/<slug:product_>',views.page_Product,name='product'),path('al_about.html',views.about,name="about"),path('al_home.html',path('search_all.html',views.search_all,name="doorway"),path('robots.txt',TemplateView.as_view(template_name="robots.txt",content_type="text/plain")),path('sitemap.xml',TemplateView.as_view(template_name="sitemap.xml",content_type="text/xml")),path('favicon.ico',RedirectView.as_view(url='/static/marketability/favicon.ico',permanent=True)),]

project/marketability/admin.py

from django.contrib import admin
from .models import TxtHow,Txtratings

# Register your models here.

admin.site.register(TxtHow)
admin.site.register(Txtratings)

project/settings.py

....
NSTALLED_APPS = [
    'ckeditor','ckeditor_uploader','django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','marketability',]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',]

ROOT_URLconf = 'project.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates','Dirs': [BASE_DIR + '/marketability/patterns'],'APP_Dirs': True,'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},]
....

superuser 已创建

所以,我没有看到与 Django 文档的任何偏差。 如何解决? 谢谢

解决方法

您的路径:

path('<slug:cat_>/',views.page_Category_Main,name='cat'),

将与 admin/ 匹配,因此将 admin 视为 cat_ slug 的值,从而触发该视图。该路径的视图可能会尝试获取带有 admin 作为 slug 的元素,但无法执行此操作,从而引发 HTTP 404 响应。

您可以将 admin/ckeditor/ 的网址放在您的类别之前:

from django.contrib import admin
from django.urls import include,path

urlpatterns = [
    path('admin/',admin.site.urls),path('ckeditor/',include('ckeditor_uploader.urls')),path('',include('marketability.mkbl_urls')),]

Django 会从上到下访问 url 模式,从而触发第一个匹配的路径模式,在这种情况下是管理员。

不过,最好也为您的 marketability 网址添加前缀,例如:

from django.contrib import admin
from django.urls import include,path

urlpatterns = [
    path('admin/',admin.site.urls),path('ckeditor/',include('ckeditor_uploader.urls')),path('market/',]

否则就不可能有名为 admin 的类别。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?