首页  >  文章  >  后端开发  >  为什么我在 Django URL 中收到“在使用 include() 的情况下视图必须是可调用的或列表/元组”错误?

为什么我在 Django URL 中收到“在使用 include() 的情况下视图必须是可调用的或列表/元组”错误?

Patricia Arquette
Patricia Arquette原创
2024-10-22 08:02:02694浏览

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