Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membetulkan \"TypeError: view mestilah boleh dipanggil\" dalam Django 1.10?

Bagaimana untuk Membetulkan \"TypeError: view mestilah boleh dipanggil\" dalam Django 1.10?

Linda Hamilton
Linda Hamiltonasal
2024-10-22 08:06:17971semak imbas

How to Fix

TypeError: paparan mestilah boleh dipanggil atau senarai/tuple dalam kes include()

Ralat ini ditemui apabila paparan ditentukan sebagai rentetan dalam corak URL selepas menaik taraf kepada Django 1.10. Django 1.10 memerlukan paparan dinyatakan sebagai boleh panggil.

Penyelesaian:

Untuk menyelesaikan ralat ini, kemas kini urls.py anda untuk memasukkan paparan boleh panggil.

Import paparan tunggal:

Import paparan individu dalam urls.py anda dan tentukan ia sebagai rujukan fungsi:

<code class="python">from django.conf.urls import include, url
from myapp.views import home, contact

urlpatterns = [
    url(r'^$', home, name='home'),
    url(r'^contact/$', contact, name='contact'),
]</code>

Import paparan berbilang :

Untuk mengelakkan mengimport setiap paparan secara individu, anda boleh mengimport keseluruhan modul paparan daripada apl anda:

<code class="python">from django.conf.urls import include, url
from myapp import views as myapp_views

urlpatterns = [
    url(r'^$', myapp_views.home, name='home'),
    url(r'^contact/$', myapp_views.contact, name='contact'),
]</code>

Menggunakan kata kunci "sebagai":

Untuk mengelakkan pertembungan nama apabila mengimport berbilang modul paparan daripada apl berbeza, gunakan kata kunci "sebagai":

<code class="python">from django.conf.urls import include, 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>

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan \"TypeError: view mestilah boleh dipanggil\" dalam Django 1.10?. 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