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

在django 1.10 里面urls.py 新的写法:
urls.py 文件里添加blog的url:

from django.conf.urls import url
from django.conf.urls import include
from django.contrib import admin
from blog.views import index
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/$',index),
]

如果使用django1.10以下的版本则写法:

from django.conf.urls import url
from django.conf.urls import include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/$',"blog.views.index"),
]
  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
### 回答1: 这个错误是因为在使用include()函数时,传入的参数不是可调用的函数或者是一个列表/元组。include()函数用于将其他URL配置文件中的URL包含到当前的URL配置文件中。正确的用法是将可调用的函数或者是一个包含URL模式的列表/元组作为参数传入。 ### 回答2: 这个错误信息通常出现在 Django 中,在使用 include() 函数时出现问题。这个错误提示的意思是,view 必须是一个可调用对象,或者是一个包含多个可调用对象的列表或元组。 在 Django 中,include() 函数通常用来在 URL 配置中包含其他 URL 配置文件。这个函数需要一个参数,就是要包含的 URL 配置文件。这个参数可以是一个可调用对象(例如函数或类视图),也可以是一个包含多个可调用对象的列表或元组。 如果出现这个错误,有几种可能的原因: 1.在 include() 函数中传递了一个不可调用的对象。这可能是因为有一个拼写错误或者是路径错误,导致 Django 找不到这个可调用对象。 2.在 include() 函数中传递了一个包含多个可调用对象的列表或元组,但其中至少有一个对象不可调用。这可能是因为列表或元组中包含的文件路径错误或不存在,或者是因为代码中有其他错误导致创建可调用对象失败。 3.在 include() 函数中使用了错误的语法或参数。例如,传递了一个字典或字符串而不是可调用对象,或者是传递了错误的参数名或类型。 要解决此错误,应该仔细查看代码中的 include() 函数和地址,以确定传递给函数的参数是否正确。可以检查 URL 配置文件是否存在以及其中的可调用对象是否正确定义。还可以使用调试工具(例如 PyCharm 或 VS Code)来查看代码中的错误和调用堆栈,以便更好地理解和解决这个错误。 ### 回答3: 在Django框架中,当我们在编写URLconf(URL配置)时,如果我们使用`include()`函数来引入其他URLconf模块时,若出现`TypeError: view must be a callable or a list/tuple in the case of include()`这个错误,就代表我们在编写URLconf时出现了一些问题。 `TypeError: view must be a callable or a list/tuple in the case of include()`这个错误的意思是说,我们在使用`include()`函数时,传递的参数不符合要求。一般来说,`include()`函数需要传递一个可调用(callable)对象或一个包含多个URL模式的列表或元组,而传递了一个非预期的参数类型。 应对这个问题,我们需要检查我们的代码和URL配置文件,在以下几个方面进行排查: 1.检查传递给`urlpatterns`列表的模式是否正确。每个模式(pattern)都应该是包含URL模式和视图函数(view function)的项(tuple)。如果模式不正确,就会导致参数无法正确传递到可调用的函数上,从而抛出错误。 2.检查所调用的视图函数或类是否存在。如果视图函数或类不存在,那么在传递给`include()`函数之前就会生成错误,从而导致`include()`函数无法正确调用。 3.检查传递给`include()`函数的参数是否正确。这个参数应该是一个可调用的函数或含有多个URL模式的列表或元组。 总之,这个错误通常代表了在编写Django应用程序的URL配置时出现的一些常见问题,包括传递错误的参数、调用不存在的视图函数或类和URL模式配置不正确等。要解决这个问题,我们需要认真检查我们的代码和URL配置文件,在排查这些常见问题方面进行工作,找到并解决错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝鲸123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值