Django错误中关于页面的***
Posted
技术标签:
【中文标题】Django错误中关于页面的***【英文标题】:Top-level about Page in Django error 【发布时间】:2015-03-16 10:26:47 【问题描述】:我想在我的 Django 站点 (eg: http://127.0.0.1:8000/about)
中有一个*** about 页面,该页面指向基于民意调查应用程序中关于视图的类或*** about 页面,但是我得到了:
TypeError at /about/
__init__() takes 1 positional argument but 2 were given
我的站点/我的站点/urls.py:
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
# Examples:
url(r'^$', 'myPollSite.views.index', name='myPollSite_home'),
url(r'^about/$', 'myPollSite.views.AboutView', name='myPollSite_about'),
url(r'^polls/', include('polls.urls', namespace = "polls")),
url(r'^admin/', include(admin.site.urls)),
]
MySite/Mysite/views.py:
from django.shortcuts import render
from django.http import HttpResponse
from django.views import generic
class AboutView(generic.TemplateView):
template_name = "polls/about.html"
def index(request):
return HttpResponse("Hello, world. You're at myPollSite index.")
MySite/polls/template/polls/about.html:
<h1>About Page</h1>
<h2>Implemented with TemplateView</h2>
<p>
No Model Data can be retrieved with Template View
</p>
【问题讨论】:
你的网址应该是这样的:myPollSite.views.AboutView.as_view() 【参考方案1】:按照documentation 中的建议,使用as_view()
调用配置基于类的视图:
url(r'^about/$', AboutView.as_view(), name='myPollSite_about'),
应该在哪里导入AboutView
:
from myPollSite.views import AboutView
【讨论】:
AboutView.as_view() 有效,但是当我使用 myPollSite.views.AboutView.as_view() 时,为什么会出现 NameError: "myPollSite" is not defined? @jerryh91 我认为您应该刚刚导入了myPollSite
。应该可以作为我提供的选项。以上是关于Django错误中关于页面的***的主要内容,如果未能解决你的问题,请参考以下文章
在 django web 应用程序上注销会重定向到 django 管理员注销页面。这是怎么回事?
将 Django 表单资产(媒体类)与清晰表单一起使用时,页面中不包含 .js 文件
mvc3中关于Razor视图中的及页面区别,以及在啥情况下用哪个页面,最好能有实例。