【发布时间】:2019-01-24 16:12:15
【问题描述】:
我是 Django (1.11) 和 Python(2.7) 的新手。我正在尝试创建一个博客。我在将 URL 映射到视图时遇到问题。
我的myblog\posts\views.py:
from __future__ import unicode_literals
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def post_home(request):
return HttpResponse("<h1>Hello</h1")
我的myblog\myblog\urls.py:
from django.conf.urls import url
from django.contrib import admin
from posts import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^posts/$', posts_view.post_home),
]
我的myblog\myblog\settings.py:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'posts',
]
TypeERROR: view 在 include() 的情况下必须是可调用的或列表/元组
任何帮助将不胜感激!
【问题讨论】:
-
请仔细检查您复制粘贴的代码是否正确。您得到的错误对示例代码没有意义。
-
@Antwane 可能取决于 Django 的版本。我按照 Django 1.9 的教程,没有错误,但是我有 Django 1.11。
-
@Antwane 我再次检查了它。我有相同的代码。你怎么看,还有什么可能是这种错误的原因?
-
@Antwane 当我在
myblog\myblog\urls.py中评论字符串url(r'^posts/$', posts_view.post_home),时一切正常。 -
错误应该是
NameError: name 'posts_view' is not defined。在您的情况下,您有一个错误指示posts_view.post_home不是函数。这表明模块“posts_view”引用了一些东西。不幸的是,在您发布的代码中,posts_view没有引用任何内容。请编辑您的问题并添加定义或导入posts_view的代码
标签: python django python-2.7 blogs django-1.11