2017-08-09 2 views
0

が見つかりません私はthis Pythonのチュートリアルを使用していますが、コードは具体的には、非推奨のPythonコードを使用しているため、著者はそれを更新していないように見えます:は、Python URL

from django.conf.urls import patterns 

    urlpatterns = patterns('', 
     (r'^hello-world/$', index), 
    ) 

私はDjangoのドキュメントや他のStackOverflowの質問を見上げ現在の方法をどのように使用できるかを解決することはできません。これは私が上記を置き換えるために追加したものです:

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から取得するエラーメッセージです:

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

そしてここでは、フルhello.pyファイルです

メインに定義されているURLconfを使用して、DjangoはこれらのURLを次の順序で試しました。^ $ [name = 'hello']現在のURL、hello、 これらのいずれにも一致しません。

私は間違っていますか?

+0

あなたが提供したコードは、すべてでは動作しません、それは間違いなくそのエラーは発生しません。必要な変更を加えるとうまく動作します。 –

答えて

1

あなたのコードは、提供されているとおりに動作しません。私は、リンクされたチュートリアルのコードをテストし、1.8でうまく動作します。コードにランダムインポート(import views)と未定義変数(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) 
+0

ありがとう! URL:rl^hello-world $ '、hello)、 –

+1

問題なく、この行に' hello 'の代わりに' index 'を使うだけです。そうです、私はそれが望みの名前だと思っていましたが、私が見た最初のものだったので、それを 'index'に変更しました。 –