Django URL 中的錯誤:理解「TypeError:在include() 的情況下視圖必須是可呼叫的或清單/元組」
升級到Django 1.10 可能會導致與URL 模式中視圖定義的格式相關的錯誤:
TypeError: view must be a callable or a list/tuple in the case of include().
原因:
在Django 1.10 之前,視圖可以指定為引用其在模組中的位置的字串,例如“myapp.views.home”。但是,不再支持這種做法。
解決方案:
在 Django 1.10 及更高版本中,視圖定義必須作為可調用函數或可調用列表/元組提供功能。這表示您需要:
1。導入視圖函數:
更新urls.py 以明確導入視圖函數並將其作為可調用函數提供:
<code class="python">from myapp.views import home urlpatterns = [ url(r'^$', home, name='home'), ]</code>
2.導入視圖模組並使用別名:
如果單一模組中有多個視圖,您可以匯入整個模組並使用別名來存取特定視圖:
<code class="python">from myapp import views as myapp_views urlpatterns = [ url(r'^$', myapp_views.home, name='home'), ]</code>
從其他應用程式導入視圖:
如果您要使用的視圖位於另一個應用程式中,您可以匯入應用程式的視圖模組並使用與上述相同的技術:
<code class="python">from another_app import views as another_app_views urlpatterns = [ url(r'^$', another_app_views.my_view, name='my_view'), ]</code>
注意:以這種方式匯入視圖時,建議使用別名(例如another_app_views)以避免與您自己的應用程式中定義的視圖發生任何衝突。
其他資訊:
有關在Django 中定義URL 模式的更多詳細信息,請參閱Django URL 調度程序文件:https://docs.djangoproject. com/en/stable/topics/http /urls/
以上是如何修復 Django URL 中的「類型錯誤:視圖必須是可呼叫的或清單/元組」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!