django: Verständnisfrage urlpatterns ...view.index

Django, Flask, Bottle, WSGI, CGI…
Antworten
luvlinux
User
Beiträge: 33
Registriert: Donnerstag 24. August 2017, 08:53

Guten morgen allerseits,

ich probiere mich gerade an der First Django app aus der django-documentation aus. Ich kam dann zu dem Punkt an dem ich in der zuvor erzeugten datei (polls/urls.py) die urlpatterns eintragen sollte:

Code: Alles auswählen

urlpatterns = [
	urls(r'^$', views.index, name='index'),
]
Meine Autovervollständigung (Pycharm) machte aus obigem views.index -> views.index() was zu einem Fehler führte

Code: Alles auswählen

File "/home/client/Desktop/NewDjangoStuff/website3/polls/urls.py", line 5, in <module>
    url(r'^$', views.index(), name='index'),
TypeError: index() missing 1 required positional argument: 'request'
Den Fehler habe ich nach etwas Suchen durch Vergleichen des Codes gefunden respektive behoben. Es würde mich allderdings interessieren, warum index() falsch ist bzw. nicht funktioniert bzw. wie hätte ich den Fehler aufgrund der obigen Fehlerbeschreibung gefunden?

Ich hoffe, dass ich mich einigermaßen verständlich ausgedrückt habe :)

Danke schon jetzt für Eure Hilfe.
Falls benötigt hier der Link zum entpsrechenden Django-Tutorial https://docs.djangoproject.com/en/1.11/ ... utorial01/ (etwas unterhalb der Mitte ist mein Problem)
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

du rufst im URL-Pattern ja nicht die Funktion selber auf, sondern teils Django "nur" mit, wie die Funktion heißt. Der Aufruf an sich mit den benötigten Argumenten und möglichen optionalen Argumenten übernimmt dann die interne "Maschinerie" von Django. In der Doku zu urls ist es auch erklärt: https://docs.djangoproject.com/en/1.11/ ... -a-request

Gruß, noisefloor
luvlinux
User
Beiträge: 33
Registriert: Donnerstag 24. August 2017, 08:53

Hi Noisefloor,

vielen Dank für deine Antwort, die mir doch schon ziemlich weitergeholfen hat. Den Inhalt des Links hab ich mir schon angeschaut, muss ich aber nochmals in Ruhe durchlesen.

Schönen Abend noch allen.
Antworten