类型错误:在 include().django2.2.2 的情况下,视图必须是可调用的或列表/元组

Posted

技术标签:

【中文标题】类型错误:在 include().django2.2.2 的情况下,视图必须是可调用的或列表/元组【英文标题】:TypeError: view must be a callable or a list/tuple in the case of include().django2.2.2 【发布时间】:2019-11-11 14:17:43 【问题描述】:

我正在尝试使用以下代码在urls.py 中制作我的第一个应用程序:

from django.contrib import admin
from django.urls import include, path


urlpatterns = [
    path('', 'blogs.views.home', name='home'),
    path('admin/', include(admin.site.urls)),
]

`

我收到此错误TypeError: view must be a callable or a list/tuple in the case of include()

当我不使用引号时,例如:

from django.contrib import admin
from django.urls import include, path


urlpatterns = [
    path('', blogs.views.home, name='home'),
    path('admin/', include(admin.site.urls)),
]

我收到以下错误NameError: name 'blogs' is not defined

【问题讨论】:

【参考方案1】:

然后您需要导入模块,例如:

from django.contrib import admin
from django.urls import include, path
import blogs.views


urlpatterns = [
    path('', blogs.views.home, name='home'),
    path('admin/', include(admin.site.urls)),
]

由于您使用 标识符,因此需要在范围内。如果您使用字符串文字,Django 将使用 importlib 解决此问题。

【讨论】:

以上是关于类型错误:在 include().django2.2.2 的情况下,视图必须是可调用的或列表/元组的主要内容,如果未能解决你的问题,请参考以下文章

django2中带有router.urls的命名空间

解决Python3.6.5+Django2.0集成xadmin后台点击添加或者内容详情报 list index out of range 的错误

Django2.0异常:Specifying a namespace in include() without providing an app_name is not supported.

Django2.1集成xadmin管理后台错误解决

Django2.1中path()函数中的参数

Django2.2 报错信息无法正常在页面显示