python – 为什么django书中的第一个“hello world”示例不起作用?

我正在(尝试)通过遵循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.

点赞