Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TypeError:当包含其他URL.py时,视图必须是可调用的或列表/元组_Python_Django_Django Urls_Django 1.11 - Fatal编程技术网

Python TypeError:当包含其他URL.py时,视图必须是可调用的或列表/元组

Python TypeError:当包含其他URL.py时,视图必须是可调用的或列表/元组,python,django,django-urls,django-1.11,Python,Django,Django Urls,Django 1.11,我已经仔细阅读了涉及本主题的其他几个问题,但是,没有一个问题描述include()的情况(包括另一个url.py文件)。我还查看了1.11文档,并按照1.11进行了编码,然而,我不断地得到错误“TypeError:view必须是可调用的,或者在include()的情况下是列表/元组。”尝试了这个和其他两个答案的每一个派生,但都没有用。我的错误/误解在哪里 url.py from django.contrib import admin from django.conf.urls import in

我已经仔细阅读了涉及本主题的其他几个问题,但是,没有一个问题描述include()的情况(包括另一个url.py文件)。我还查看了1.11文档,并按照1.11进行了编码,然而,我不断地得到错误“TypeError:view必须是可调用的,或者在include()的情况下是列表/元组。”尝试了这个和其他两个答案的每一个派生,但都没有用。我的错误/误解在哪里

url.py

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

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^atfl/', include('atfl.urls'), namespace="atfl"),
]
atfl/URL.py中的代码

from django.conf.urls import url
from atfl.views import home, people

urlpatterns = [
    url(r'^$', 'home', name='home'),
    url(r'^people/$', 'people', name='people'),
]
atfl/views.py中的代码

from django.shortcuts import render_to_response

def index(request):
    return render_to_response('atfl/home.html', {})

def LoadTextFile(request):
    return render_to_response("atfl/people.html", {})

错误不是来自包含的
,而是来自您试图包含的url.py中的字符串
'home'
'people'
。使用已导入的视图:

from atfl.views import home, people

app_name = 'atfl'

urlpatterns = [
    url(r'^$', home, name='home'),
    url(r'^people/$', people, name='people'),
]
一旦你解决了这个问题,你的
include
中就有一个你应该解决的bug。命名空间是
include
的一个参数,即
include('atfl.url',namespace='atfl')
。您可以将其作为
url()
的参数。但是,在这种情况下,您应该完全从该URL模式中删除名称空间,并如上所述将
app_name
添加到app的URL.py中

url(r'^atfl/', include('atfl.urls')),
最后,不要使用
render\u to\u response
。它已经过时了。使用
渲染

from django.shortcuts import render_to_response

def index(request):
    return render(request, 'atfl/home.html', {})

不应在atfl/URL.py中使用字符串:

from django.conf.urls import url
from atfl.views import home, people

urlpatterns = [
    url(r'^$', home, name='home'),
    url(r'^people/$', people, name='people'),
]