Warum erhalte ich in Django-URLs den Fehler „Ansicht muss im Falle von include() eine aufrufbare Ansicht oder eine Liste/ein Tupel sein'?

Patricia Arquette
Freigeben: 2024-10-22 08:02:02
Original
764 Leute haben es durchsucht

Why am I getting a

Django URLs TypeError: „Ansicht muss ein Callable oder eine Liste/ein Tupel im Fall von include() sein.“

Ursache:

Ab Django 1.10 ist die Angabe von Ansichten als Zeichenfolgen (z. B. „myapp.views.home“) in URL-Mustern nicht mehr zulässig.

Lösung :

Aktualisieren Sie Ihre urls.py-Datei so, dass sie die tatsächlich aufrufbare Ansicht enthält:

Option 1: Ansichten einzeln importieren und referenzieren

<code class="python">from django.conf.urls import url

from django.contrib.auth.views import login
from myapp.views import home, contact

urlpatterns = [
    url(r'^$', home, name='home'),
    url(r'^contact/$', contact, name='contact'),
    url(r'^login/$', login, name='login'),
]</code>
Nach dem Login kopieren

Option 2: Importieren Sie das Ansichtsmodul und Referenzansichten

<code class="python">from django.conf.urls import url

from django.contrib.auth import views as auth_views
from myapp import views as myapp_views

urlpatterns = [
    url(r'^$', myapp_views.home, name='home'),
    url(r'^contact/$', myapp_views.contact, name='contact'),
    url(r'^login/$', auth_views.login, name='login'),
]</code>
Nach dem Login kopieren

Hinweis:

  • Die Verwendung von as ermöglicht Ansichten aus mehreren Apps können ohne Namenskonflikte importiert werden.
  • Erwägen Sie die Benennung von URL-Mustern für eine bessere Lesbarkeit und URL-Umkehrung.
  • Weitere Informationen finden Sie in der Django URL Dispatcher-Dokumentation.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Django-URLs den Fehler „Ansicht muss im Falle von include() eine aufrufbare Ansicht oder eine Liste/ein Tupel sein'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage