首页 >后端开发 >Python教程 >如何修复 Django URL 中的'类型错误:视图必须是可调用的或列表/元组”?

如何修复 Django URL 中的'类型错误:视图必须是可调用的或列表/元组”?

DDD
DDD原创
2024-10-22 08:05:30788浏览

How to Fix

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn