我创建了 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 个视图,但我可以看到一个视图,但看不到第二个视图。
有什么建议吗?
您的
''
中的两个视图使用相同的路径 (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,并使用各自的路径测试两个视图。