首頁 >後端開發 >Python教學 >為什麼我在 Django URL 中收到「在使用 include() 的情況下視圖必須是可呼叫的或清單/元組」錯誤?

為什麼我在 Django URL 中收到「在使用 include() 的情況下視圖必須是可呼叫的或清單/元組」錯誤?

Patricia Arquette
Patricia Arquette原創
2024-10-22 08:02:02773瀏覽

Why am I getting a

Django URL 類型錯誤:「在include() 的情況下,視圖必須是可呼叫的或列表/元組。」

原因:

從Django 1.10 開始,不再允許在URL 模式中將視圖指定為字串(例如「myapp.views.home」)。

解決方案:

更新您的urls.py 檔案以包含可呼叫的實際視圖:

選項1:單獨導入選項和引用視圖

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

選項2:導入視圖模塊和引用視圖

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

注意:

  • 使用as 允許來自多個視圖匯入的應用程式不會發生名稱衝突。
  • 考慮命名 URL 模式以提高可讀性和 URL 反轉。
  • 有關更多詳細信息,請參閱 Django URL 調度程序文件。

以上是為什麼我在 Django URL 中收到「在使用 include() 的情況下視圖必須是可呼叫的或清單/元組」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn