2016-04-24 5 views
0

Dies wurde schon einmal gefragt, aber die Probleme waren in der Regel mit der Platzierung der mysite/urls.py oder fehlenden Text irgendwo. Ich habe das im Detail besprochen, gilt aber nicht hier. Ich folge dem Django-Tutorial EXAKT, das heißt, es wurde nicht auf die Umfragen-App in der Datei settings.py verwiesen. Ich kann die richtige Ansicht aufrufen, wenn ich die "Umfragen" am Ende der URL manuell eintippe, wie in "http://127.0.0.1:8000/polls", aber das sollte ich nicht tun müssen, damit es funktioniert. Ich nehme auch an, dass das Tutorial nicht in irgendeiner Weise falsch ist. Link zum Tutorial: https://docs.djangoproject.com/en/1.9/intro/tutorial01/Django Tutorial - Teil 1 - URL stimmte nicht überein

Der Fehler erhalte ich:

Page not found (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: 
^polls/ 
^admin/ 
The current URL, , didn't match any of these. 

Meine views.py Datei:

from django.shortcuts import render 
from django.http import HttpResponse 

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

Meine Umfragen/urls.py Datei:

from django.conf.urls import url 
from . import views 

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

Meine mysite/mysite/urls.py Datei:

from django.conf.urls import include, url 
from django.contrib import admin 

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

]

Dies ist der Baum für die nur mysite/mysite Verzeichnis zu zeigen, dass ich in den richtigen Ordner bin (es gibt keine separate urls.py Datei im Haupt mysite Verzeichnis):

. 
├── __init__.py 
├── __pycache__ 
│   ├── __init__.cpython-35.pyc 
│   ├── settings.cpython-35.pyc 
│   ├── urls.cpython-35.pyc 
│   └── wsgi.cpython-35.pyc 
├── settings.py 
├── urls.py 
└── wsgi.py 

Noch einmal, das beste kann ich sagen, dies ist auf den Buchstaben nach der Django-Tutorial-Anleitung. Ich möchte es beheben, aber noch wichtiger verstehen, warum es nicht funktioniert.

+1

"Ich kann die richtige Ansicht aufrufen, wenn ich die" Umfragen "am Ende der URL manuell eintippe, ... aber ich sollte das nicht tun müssen, damit es funktioniert.". Warum denkst du, du solltest das nicht tun müssen? Das sieht so aus, wie ich es aufgrund Ihrer zwei urls.py-Dateien erwartet hätte. –

+0

https://docs.djangoproject.com/de/1.9/intro/tutorial01/#write-your-first-view von dem Tutorial, das Sie verlinkt haben, steht am Ende dieses Abschnitts "Gehe zu http: // localhost: 8000/Umfragen/in Ihrem Browser, und Sie sollten sehen ... ". Das tutorial sagt dir also, dass du die/polls URL treffen sollst. –

+1

Das Tutorial sagt Ihnen sogar, dass Sie die View-Last in '/ polls /' sehen sollten. Dies ist in Ihrem Haupt * urls.py * definiert. Wenn du es ändern willst ... solltest du folgendes verwenden: 'url (r '', include ('umfragen.urls')),' – rnevius

Antwort

0

Haben Sie die INSTALLED_APPS Variable in der Einstellungsdatei überprüft, um die 'Umfragen'-App einzuschließen?

Verwandte Themen