未找到Python URL

未找到Python URL,python,django,Python,Django,我正在使用Python教程,但作者似乎没有更新它,因为代码使用的是不推荐使用的Python代码,特别是: from django.conf.urls import patterns urlpatterns = patterns('', (r'^hello-world/$', index), ) 我查阅了Django文档和其他StackOverFlow问题,但无法解决如何使用当前方法的问题。我添加了以下内容来替换上述内容: urlpatterns = [

我正在使用Python教程,但作者似乎没有更新它,因为代码使用的是不推荐使用的Python代码,特别是:

from django.conf.urls import patterns

    urlpatterns = patterns('',
        (r'^hello-world/$', index),
    )
我查阅了Django文档和其他StackOverFlow问题,但无法解决如何使用当前方法的问题。我添加了以下内容来替换上述内容:

urlpatterns = [
    url(r'^hello-world$', hello),
]
下面是完整的hello.py文件:

import sys

from django.conf import settings
from django.conf.urls import url
from django.http import HttpResponse
from django.core.management import execute_from_command_line

settings.configure(
    DEBUG=True,
    SECRET_KEY='thisisabadkeybutitwilldo',
    ROOT_URLCONF=sys.modules[__name__],
)

def index(request):
    return HttpResponse('Hello, World')

import views

urlpatterns = [
    url(r'^hello-world$', hello),
]

if __name__ == "__main__":
    execute_from_command_line(sys.argv)
这是我从Python中得到的错误消息:

Django使用main中定义的URLconf尝试了以下URL 模式,按以下顺序:^$[name='hello']当前URL,hello, 这些都不匹配


我做错了什么

提供的代码不起作用。我测试了链接教程中的代码,它在1.8中运行良好。您的代码有一个随机导入视图和一个未定义的变量hello。因此,我对您的代码进行了逻辑编辑并进行了测试,在1.11中一切正常:

import sys

from django.conf import settings
from django.conf.urls import url
from django.http import HttpResponse
from django.core.management import execute_from_command_line

settings.configure(
    DEBUG=True,
    SECRET_KEY='thisisabadkeybutitwilldo',
    ROOT_URLCONF=sys.modules[__name__],
)

def index(request):
    return HttpResponse('Hello, World')

urlpatterns = [
    url(r'^hello-world$', index),
]

if __name__ == "__main__":
    execute_from_command_line(sys.argv)

您提供的代码根本不起作用,它肯定不会引发错误。当我做任何必要的更改时,它工作正常。谢谢!看起来我只需要在这一行中使用“index”而不是“hello”:urlr“^hello world$”,hello,没问题。是的,我想那是我想要的名字,但是改成了索引,因为那是我第一次看到的名字。