【问题标题】:django 404 error when running a server on window 10 with python 3使用 python 3 在窗口 10 上运行服务器时出现 django 404 错误
【发布时间】:2018-10-31 17:14:28
【问题描述】:

我的django 项目出现错误。

/api 和 /admin url 工作正常,它只是引发此错误的主页:

使用backend.urls中定义的URLconf,Django尝试了这些网址 模式,按以下顺序:

api-auth/

admin/

api/

空路径与其中任何一个都不匹配。

您看到此错误是因为您的 Django 中有 DEBUG = True 设置文件。将其更改为 False,Django 将显示 标准 404 页面。

我的 urls.py 文件如下

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

urlpatterns = [
    path('api-auth/', include('rest_framework.urls')),
    path('admin/', admin.site.urls),
    path('api/',include('movies.api.urls'))
]

【问题讨论】:

  • 好吧,您似乎没有为“主页”定义路径。是什么让您认为自己拥有?
  • 是的,我的错,但是我可以为空路径定义什么 django 没有空字符串的页面还是我必须定义自己?

标签: python django python-3.x django-rest-framework


【解决方案1】:

您必须为空请求(主页)指定正则表达式

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

urlpatterns = [
    re_path(r'^', include('app_name.urls')),
    path('api-auth/', include('rest_framework.urls')),
    path('admin/', admin.site.urls),
    path('api/',include('movies.api.urls'))
]

【讨论】:

    【解决方案2】:

    您尚未为起始页定义 URL。

    1. 您需要为您的起始页定义一个视图(也许您已经有了一个?),或者使用像TemplateView 这样的默认视图或类似的东西。
    2. 您需要为该起始页视图的模式添加一个新 URL;大概是这样的:

      urlpatterns = [
          path('', views.start_page, name='start_page'),
      
          path('api-auth/', include('rest_framework.urls')),
          path('admin/', admin.site.urls),
          path('api/',include('movies.api.urls'))
      ]
      

    【讨论】:

      猜你喜欢
      • 2016-08-13
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      • 2017-05-17
      • 1970-01-01
      • 2016-11-13
      • 1970-01-01
      相关资源
      最近更新 更多