如何修复 Django 1.10 中的'类型错误:视图必须是可调用的”?

Linda Hamilton
发布: 2024-10-22 08:06:17
原创
969 人浏览过

How to Fix

TypeError: view must be a callable or a list/tuple in the case of include()

当视图被调用时会遇到此错误升级到 Django 1.10 后指定为 URL 模式中的字符串。 Django 1.10 要求将视图指定为可调用视图。

解决方案:

要解决此错误,请更新 urls.py 以包含可调用视图。

单视图导入:

在 urls.py 中导入单个视图并将其指定为函数引用:

<code class="python">from django.conf.urls import include, url
from myapp.views import home, contact

urlpatterns = [
    url(r'^$', home, name='home'),
    url(r'^contact/$', contact, name='contact'),
]</code>
登录后复制

多视图导入:

为了避免单独导入每个视图,您可以从应用程序导入整个视图模块:

<code class="python">from django.conf.urls import include, url
from myapp import views as myapp_views

urlpatterns = [
    url(r'^$', myapp_views.home, name='home'),
    url(r'^contact/$', myapp_views.contact, name='contact'),
]</code>
登录后复制

使用“as”关键字:

为防止从不同应用导入多个视图模块时发生名称冲突,请使用“as”关键字:

<code class="python">from django.conf.urls import include, 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>
登录后复制

以上是如何修复 Django 1.10 中的'类型错误:视图必须是可调用的”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!