在 django 服务器上查看给出 404 错误

问题描述 投票:0回答:1

我创建了 2 个基于函数的视图,第二个视图引发了

404
错误。以下是
urls
views
的代码。

#urls.py

from django.contrib import admin
from django.urls import path, include
from mysite.views import current, hello


urlpatterns = [
    path("", current, name="time"),
    path("", hello, name="hello"),
]
# views.py

import datetime
from django.http import HttpResponse


def hello(request):
    return HttpResponse("Hello world. I Love you alot.Did you not know?")

def current(request):
    now = datetime.datetime.now()
    html = "<html><body>It is now %s.</body></html>" % now
    return HttpResponse(html)

当我运行服务器时,我可以看到时间输出,但在

http://127.0.0.1:8000/hello
上看不到 hello world。就像我定义了 2 个视图,但我可以看到一个视图,但看不到第二个视图。

有什么建议吗?

django view http-status-code-404
1个回答
1
投票

您的

''
中的两个视图使用相同的路径 (
urlpatterns
)。这导致了冲突,并且仅匹配第一个视图。要解决此问题,您应该为每个视图使用不同的路径。这是您的
urlpatterns
的更新版本:

from django.contrib import admin
from django.urls import path
from mysite.views import current, hello

urlpatterns = [
    path('', current, name='time'),
    path('hello/', hello, name='hello'), # Updated path for the hello view
]

现在,当您访问

http://127.0.0.1:8000/hello/
时,它会显示“Hello world。我非常爱你。你不知道吗?”

确保相应地调整您的 URL,并使用各自的路径测试两个视图。

© www.soinside.com 2019 - 2024. All rights reserved.