Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah saya mendapat \"pandangan mestilah boleh dipanggil atau senarai/tuple dalam kes ralat include()\" dalam URL Django?

Mengapakah saya mendapat \"pandangan mestilah boleh dipanggil atau senarai/tuple dalam kes ralat include()\" dalam URL Django?

Patricia Arquette
Patricia Arquetteasal
2024-10-22 08:02:02694semak imbas

Why am I getting a

Django URLs TypeError: "pandangan mestilah boleh dipanggil atau senarai/tuple dalam kes include()."

Punca:

Bermula dari Django 1.10, menentukan paparan sebagai rentetan (cth., 'myapp.views.home') dalam corak URL tidak lagi dibenarkan.

Penyelesaian :

Kemas kini fail urls.py anda untuk memasukkan paparan sebenar yang boleh dipanggil:

Pilihan 1: Import dan paparan rujukan secara individu

<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>

Pilihan 2: Import modul paparan dan paparan rujukan

<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>

Nota:

  • Menggunakan sebagai membenarkan paparan daripada berbilang apl untuk diimport tanpa percanggahan nama.
  • Pertimbangkan menamakan corak URL untuk kebolehbacaan yang dipertingkatkan dan pembalikan URL.
  • Rujuk dokumentasi penghantar URL Django untuk butiran lanjut.

Atas ialah kandungan terperinci Mengapakah saya mendapat \"pandangan mestilah boleh dipanggil atau senarai/tuple dalam kes ralat include()\" dalam URL Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn