【问题标题】:Using the URLconf defined in first_project.urls, Django tried these URL patterns, in this order:使用 first_project.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式:
【发布时间】:2020-05-05 09:33:33
【问题描述】:

我知道以前有人问过这个问题,但我还没有找到解决我问题的答案。

我正在查看 Django 教程,我已经按照教程中的内容逐字逐句设置了第一个 URL,但是当我转到 http://127.0.0.1:8000 时,它给了我这个错误:

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

^$ [名称='索引'] 行政/ 空路径与其中任何一个都不匹配。

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

我正在使用 Django 2.2.5 和 Python 3.8。

这是我在相关网址和查看文件中的代码:

在我的站点views.py中:

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def index(request):
    return HttpResponse("Hello World!")

在我的站点 urls.py 中:

from django.contrib import admin
from django.urls import path
from first_app import views

urlpatterns = [
    path(r'^$',views.index,name='index'),
    path('admin/', admin.site.urls),
]

在 mysite setting.py 中

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'first_app',
]

发生了什么事?为什么我会收到 404?

【问题讨论】:

  • 当在 Django 2 中对此进行了更改(简化)时,看起来您正在使用旧样式的 Django 1 URL 模式。我猜您正在遵循的教程是旧的。改用path('/',views.index,name='index')
  • 谢谢先生,您的宝贵意见我得到了我的回答,你说得对,那是 udmy 2017 教程,但现在我正在使用所有更新 2020。为我祈祷

标签: python django url


【解决方案1】:

我认为你要么只需要使用空白''作为索引的路径

from django.contrib import admin
from django.urls import path
from first_app import views

urlpatterns = [
    path('',views.index,name='index'),
    path('admin/', admin.site.urls),
]

【讨论】:

  • 感谢先生,您的宝贵意见,我得到的答案是 udmy 2017 教程,但现在我正在使用 2020 年的所有更新,先生,您是个天才。为我祈祷
【解决方案2】:

在 Django 2.x.x 中,path() 不接受正则表达式。如果你想使用正则表达式,那么你可以使用 re_path() 之类的函数

from django.urls 导入路径,re_path 网址模式 = [ re_path(r'^$',views.index,name='index'), 路径('admin/',admin.site.urls), ]

或者只是按照@Antimada 的建议使用path()。最佳做法是使用path() 或至少避免同时使用path()re_path()

【讨论】:

    猜你喜欢
    • 2017-05-27
    • 2017-06-26
    • 1970-01-01
    • 2021-04-13
    • 2021-02-14
    • 2018-06-28
    • 2020-08-02
    • 1970-01-01
    • 2020-09-01
    相关资源
    最近更新 更多