2016-04-20 8 views
1
from django.conf.urls import include, url, patterns 
from django.contrib import admin 

#urlpatterns = [ 
# url(r'^mypage/', include('mypage.urls')), 
# url(r'^admin/', admin.site.urls), 
#] 


urlpatterns = patterns('', 
url(r'^$', 'mypage.views.home', name='home'), 
url(r'^admin/', admin.site.urls), 
) 

Der unkommentierte Code funktioniert einwandfrei. Aber laut Tutorials sollte der kommentierte Code auch funktionieren müssen. Aber es zeigte einen Fehler von "Die aktuelle URL stimmte nicht mit diesen überein". Der Codepfad ist /ownblog/ownblog/urls.pyDjango - Die aktuelle URL,, stimmte nicht überein

urlpatterns = patterns('', 
url(r'^$', 'views.home', name='home'), 
) 

Der obige Code ist in ownblog/mypage/urls.py

def home(request): 
    return HttpResponse("Hello, world. You're at the polls index.") 

Der obige Code ist in ownblog/mypage/views.py Was ich vermisse

+0

Und fragte, welche URL die Fehlermeldung erhalten soll? Wenn Sie '/' angefordert haben, enthalten die kommentierten Patterns kein Pattern für die Root-Page, nur Patterns für '/ admin/*' und '/ mypage/*'. – dhke

+0

die URLconf in ownblog.urls definiert verwenden, versucht Django diese URL-Muster, die in dieser Reihenfolge: ^ mypage/ ^ admin/ Die aktuelle URL, nicht eines dieser brachte. –

+0

Der kommentierte Code definiert keine Route für die leere URL. Wenn Sie versuchen, '/ mypage' zu ​​verwenden, erhalten Sie möglicherweise ein Ergebnis. Wenn das Tutorial sagt, dass die Root-URL vom kommentierten Code behandelt werden soll, ist das Tutorial falsch. – dhke

Antwort

8

Die Fehlermeldung beim Besuch http://localhost:8000/ wird erwartet, weil Sie kein URL-Muster für/in Ihrem kommentierten Code definiert haben. Das Lernprogramm fordert Sie auf, auf http://localhost:8000/polls/ zu gehen. In Ihrem Fall ändern Sie das zu http://localhost:8000/mypage/, weil Sie mypage anstelle von polls verwenden.

Der zweite Fehler No module named views ist, weil Sie die Zeichenfolge 'views.home' in Ihren URL-Mustern anstelle der aufrufbaren verwendet haben. Stellen Sie sicher, dass Sie auch den Import einschließen.

from . import views 

urlpatterns = [ 
    url(r'^$', views.home, name='home'), 
] 

Ich merke, dass Sie die 1.9 tutorial nicht sehr genau folgen. Zum Beispiel verwenden Sie patterns() und Zeichenfolgen wie 'mypage.views.home', die beide seit Django 1.8 veraltet sind. Ich denke, Sie würden es nützlich finden, dem Tutorial genau zu folgen, bevor Sie anfangen, viele Dinge zu ändern.

Verwandte Themen