Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menyelesaikan Ralat \'TypeError: View Must Be Callable\' dalam Django 1.10?

Bagaimana untuk Menyelesaikan Ralat \'TypeError: View Must Be Callable\' dalam Django 1.10?

Barbara Streisand
Lepaskan: 2024-10-22 08:00:03
asal
1045 orang telah melayarinya

How to Resolve the

TypeError: View Mesti Boleh Dipanggil dalam Django 1.10

Ikhtisar:

Setelah menaik taraf kepada Django 1.10, pengguna mungkin menghadapi ralat menyatakan, "view mestilah boleh dipanggil atau senarai/tuple dalam kes include()." Ralat ini berlaku disebabkan oleh perubahan dalam cara Django mengendalikan spesifikasi paparan dalam corak URL.

Punca:

Bermula dengan Django 1.10, menentukan paparan sebagai rentetan ('myapp.views .home') tidak lagi disokong. Django kini memerlukan paparan boleh panggil untuk diimport secara eksplisit dan disertakan dalam corak URL.

Penyelesaian:

1. Import dan Tentukan View Callables:

Ubah suai corak URL untuk memasukkan paparan yang diimport boleh panggil. Jika corak kekurangan nama, pertimbangkan untuk menambahkannya untuk memastikan pembalikan URL yang betul.

<code class="python">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>
Salin selepas log masuk

2. Modul Import Paparan:

Untuk projek dengan banyak paparan, mengimport setiap paparan secara individu boleh menjadi menyusahkan. Sebagai alternatif, pertimbangkan untuk mengimport keseluruhan modul paparan daripada apl.

<code class="python">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>
Salin selepas log masuk

Menggunakan Alias:

Perhatikan penggunaan sebagai pernyataan (cth., sebagai myapp_views) untuk mengimport modul berbilang paparan tanpa pertembungan nama.

Maklumat Tambahan:

  • Untuk penjelasan terperinci tentang penghantar URL dalam Django, rujuk dokumentasi rasmi.
  • Pastikan modul paparan apl dinamakan dan diimport dengan betul dalam fail tetapan (cth., INSTALLED_APPS).
  • Jika ralat berterusan walaupun penyelesaian di atas, semak sebarang kesilapan taip atau sintaks dalam corak URL .

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'TypeError: View Must Be Callable\' dalam Django 1.10?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan