【问题标题】:django url not working when directions followed遵循指示时 django url 不起作用
【发布时间】:2017-02-05 16:52:09
【问题描述】:

这快把我逼疯了。一切看起来都很好。我收到此错误: 找不到页面 (404) 请求方法:GET 请求网址:http://localhost:8000/home 使用 gds.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式: ^管理员/ ^修正/ 当前 URL home 与其中任何一个都不匹配。

这是我的根网址:

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^fixiss/', include('fixiss.urls')),

]

我的应用网址:

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.home, name="index"),
]

我的应用中的视图:

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.

def home(request):
    return HttpResponse("Home page!")

任何帮助将不胜感激!

【问题讨论】:

    标签: django


    【解决方案1】:

    假设你的“app url”模块是'fixiss.urls',你只有一个模式(空字符串)并且你将它包含在fixiss/下,唯一的匹配应该是:

    http://localhost:8000/fixiss/
    

    如果您将一种模式更改为:

    url(r'^home$', views.home, name="index")
    

    该视图将在

    下提供
    http://localhost:8000/fixiss/home/
    

    view 函数的实际名称(在本例中为 home)与 url 模式匹配无关。重要的是指定的正则表达式模式。

    这是非常有据可查的:

    【讨论】:

    • 我同意这个
    【解决方案2】:

    那是因为没有 url 匹配 home/。你的网址应该是http://localhost:8000/fixiss/

    在应用程序的(fixiss)url文件中,正则表达式为空的意思,它不期望url中fixiss/之后的字符串与之匹配。

    【讨论】:

    • 谢谢埃文斯。我看到了这个问题。实际上,我所遵循的教程有误。我是初学者,非常感谢您的帮助。
    • 谢谢 schwobasegg,我会检查这些链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 2011-08-13
    • 2021-07-03
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多