概述:
概述:概述:
升級到Django 1.遇到錯誤指出「在include() 的情況下,視圖必須是可呼叫的或清單/元組。」此錯誤是由於Django 處理URL 模式中的視圖規範的方式發生變化而發生的。
原因:從 Django 1.10 開始,將視圖指定為字串 ('myapp.views) .home') 不再支援。 Django 現在要求明確匯入視圖可呼叫物件並將其包含在 URL 模式中。
解決方案:<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>
1.匯入並指定視圖可呼叫物件:
修改URL 模式以包含匯入的視圖可呼叫物件。如果模式缺少名稱,請考慮新增它們以確保正確的 URL 反轉。<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>
2.導入視圖模組:
對於具有大量視圖的項目,單獨導入每個視圖可能會變得很麻煩。或者,考慮從應用程式匯入整個視圖模組。使用別名:
以上是如何解決 Django 1.10 中的「TypeError: View Must Be Callable」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!