Ich bin ein Neuling in Django und habe vor einem Tag angefangen, Django 1.10 auf meinem lokalen Server zu installieren.
Ich habe alle Anweisungen dieses Links https://docs.djangoproject.com/en/dev/intro/tutorial01/ befolgt. Ich bekomme jedoch ständig diesen Fehler:
Page not found (404) Request Method: GET Request URL: http://127.0.0.1:8000/polls/
Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:
^admin/
The current URL, polls/, didn't match any of these.
Ich habe eine Umfrage-App erstellt, um loszulegen.
Um zu beginnen, ging ich mit view.py, hier ist der Code:
umfragen/Ansichten.py
from Django.shortcuts import render
# Create your views here.
from Django.http import HttpResponse
def index(request):
return HttpResponse("Hello World!")
Hier ist mein Code für urls.py:
polls/urls.py
from Django.conf.urls import patterns, url
from . import views
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
)
Und hier ist die urls.py in root:
mysite/urls.py
from Django.conf.urls import patterns,include, url
from Django.contrib import admin
urlpatterns = patterns('',
url(r'^polls/', include('polls.urls')),
url(r'^admin/', include(admin.site.urls)),
)
Ich habe viel Zeit gebraucht, um die Lösung herauszufinden. Ich habe herausgefunden, dass diese Frage schon oft gestellt wurde. Also habe ich auch mit diesen Lösungen versucht, aber keine davon hat für mich funktioniert.
Ich kann nicht herausfinden, was mir hier fehlt, also bitte ich Sie auf die Lücke aufmerksam zu machen.
Ich denke, Sie haben die falsche Datei bearbeitet, als Sie die Root-URL-Konfiguration ändern wollten.
Stellen Sie sicher, dass Sie die Root-URL-Konfiguration in mysite/mysite/urls.py
(das Verzeichnis, das settings.py
enthält) und nicht mysite/urls.py
(das Verzeichnis, das manage.py
enthält) bearbeiten.
Installieren Sie als allgemeine Empfehlung die neueste Version, derzeit 1.9. Verwenden Sie nicht 1.10, das gerade entwickelt wird. Stellen Sie sicher, dass Sie das Tutorial für 1.9 befolgen, da sich das Tutorial für verschiedene Versionen ändert. Zum Beispiel stimmt Ihr mysite/urls.py
nicht mit dem Tutorial für 1.9 überein, da die urlpatterns
sein sollte:
urlpatterns = [
url(r'^polls/', include('polls.urls')),
url(r'^admin/', admin.site.urls),
]
In settings.py
haben Sie einen Einstellungsnamen INSTALLED_APPS-
Fügt die App hinzu, d. H. polls
.
INSTALLED_APPS = [
'Django.contrib.admin',
'Django.contrib.auth',
....
'polls',
]
neue Funktionen in Django erfordern neue Lösungen ...
from Django.conf.urls import url
from Django.contrib import admin
from polls.views import urls
urlpatterns = [
...
url(r'^polls/$', urls),
]
tippe deinen Browser ein, getestet in Django 1.10
http: // localhost: 8000/polls/
Laden Sie ein funktionierendes "HelloWorld" Beispiel in Django 1.10 herunter
https://mega.nz/#!qFsgBbRD!lAKKprkMLmhJcaZ8h5NPxkZcfQpB8qrh1nU4rSSaRAo
Ändern Sie die MySite/URL
from Django.conf.urls import patterns,include, url
from Django.contrib import admin
urlpatterns = patterns('',
url(r'^&', include('polls.urls')),
url(r'^admin/', include(admin.site.urls)),
)
Führen Sie dann Ihren Server aus und besuchen Sie 127.0.0.1/8000. Dies sollte Sie zum Index der ur Website führen.
oder Sie lassen Ihren Code so wie er ist und führt 127.0.0.1/8000/polls in Ihrem Browser aus
Es funktioniert. Gehen Sie zu Ihrer URL-Leiste und geben Sie Ihren App-Namen ein:
http://127.0.0.1:8000/home
Mein App-Name ist zu Hause. Es wird klappen.
Wenn Sie Ihre App als Standardseite festlegen möchten, importieren Sie Ansichten aus Ihrer App.
Mögen
from home import views
dann schreibe
url(r'^$', views.index),
innerhalb.
Die Ansichten werden als Standardseite festgelegt
http://127.0.0.1:8000/
Wenn Sie dies eingeben, wird auf Ihre Ansichten umgeleitet.
Ich hatte das gleiche Problem wie beschrieben. Einen Windows-Computer ausführen.
Es stellte sich heraus, dass die von mir verwendete virtuelle Umgebung nicht ordnungsgemäß konfiguriert wurde (oder ich hatte vergessen, sie vor der Installation von Django zu aktivieren) und der Interpreter und der Django-Admin von CMD.EXE vom falschen Pfad abgerufen wurden.
Wenn es so aussieht, als ob Django Ihre urls.py "ignoriert" - versuchen Sie, alles zu löschen, die virtuelle Umgebung neu zu erstellen, sie zu aktivieren und anschließend Django erneut zu installieren.
Hoffe das hilft.
Ich hatte auch das gleiche Problem, das offizielle Docs-Tutorial durchzuarbeiten. Ich habe Cloud 9 verwendet. Was ich erkannte, bevor ich dieses Problem lösen konnte, war, dass ich mich beim Erstellen des Arbeitsbereichs bereits für Django entschieden habe (dh, als mein Arbeitsbereich erstellt wurde, war Django bereits installiert) $ Django-admin startproject mysite
erneut ausgeführt und dabei eine andere Schicht von Django mit mehreren Verzeichnissen und unvermeidlicher Verwirrung. Meine Lösung bestand darin, alles zu löschen und von vorne zu beginnen.
Da dieses Problem vielen Menschen gemeinsam ist, schlage ich vor, dass die Dojo-Anleitungen für Django diesbezüglich deutlicher sein sollten.
Ich hoffe das hilft jemandem.
wenn die Antwort von @Alasdair nicht funktioniert und Sie anscheinend mit korrekten Dateien arbeiten, starten Sie einfach Ihren Server neu