我正在(尝试)通过遵循Django书来学习Django for
python 2.7,但在尝试配置views.py和urls.py时仍然坚持使用hello world示例.我基本上逐行复制了所有内容,但在访问本地测试服务器时仍然遇到相同的404错误:
Request Method: GET Request URL: http://127.0.0.1:8000/ Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order: ^hello/$ The current URL, , didn't match any of these.
我在views.py中的代码如下所示:
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world")
和urls.py:
from django.conf.urls import patterns, include, url
from mysite.views import hello
urlpatterns = patterns('',
url('^hello/$', hello)
)
当我只在url()函数中使用“^ $”作为第一个正则表达式参数时,它可以工作.但每当我尝试将它与正则表达式匹配时,就像上面那个,它应该匹配hello()中的HttpResponse,它永远不会起作用.我已经尝试过无数种你好的变种而没有成功.我还可以补充一点,我已经在Linux和Windows上尝试过了.什么可能是这个问题的根源?
最佳答案 404的原因是你的urlpatterns中的http://127.0.0.1:8000/页面没有匹配的正则表达式:
urlpatterns = patterns('',
url('^hello/$', hello)
)
^ hello / $regex仅匹配http://127.0.0.1:8000/hello/ url.