首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:对于include(),视图必须是可调用的或列表/元组。

TypeError:对于include(),视图必须是可调用的或列表/元组。
EN

Stack Overflow用户
提问于 2016-07-15 11:05:52
回答 5查看 32.9K关注 0票数 13

我是django和python的新手。在将url映射到视图期间,我得到以下错误:在TypeError()的情况下,视图必须是可调用的或列表/元组。

Urls。py代码:-

代码语言:javascript
复制
from django.conf.urls import url
from django.contrib import admin


urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^posts/$', "posts.views.post_home"), #posts is module and post_home 
]                                              # is a function in view. 

views.py代码:-

代码语言:javascript
复制
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
#function based views

def post_home(request):
    response = "<h1>Success</h1>"
    return HttpResponse(response)

溯源

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-07-15 11:36:07

在1.10中,您不能再将导入路径传递给url(),您需要传递实际的视图函数:

代码语言:javascript
复制
from posts.views import post_home

urlpatterns = [
    ...
    url(r'^posts/$', post_home),
]        
票数 29
EN

Stack Overflow用户

发布于 2016-07-15 11:24:54

将您的管理url模式替换为

代码语言:javascript
复制
url(r'^admin/', include(admin.site.urls))

所以你的urls.py变成:

代码语言:javascript
复制
from django.conf.urls import url, include
from django.contrib import admin


urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^posts/$', "posts.views.post_home"), #posts is module and post_home 
] 

通过include (在1.9之前)可以调用管理urls。

票数 2
EN

Stack Overflow用户

发布于 2017-06-26 12:56:15

代表Django 1.11.2

在主urls.py中写:

代码语言:javascript
复制
from django.conf.urls import include,url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^posts/', include("Post.urls")),
] 

并在appname/urls.py文件中写入:

代码语言:javascript
复制
from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$',views.post_home),
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38394598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档