War*_*ock 2 python django django-class-based-views
我是django的新手.按照doc我正在创建一个django应用程序.当我使用基于类的视图时,我收到了一个错误.我对基于类的视图了解不多.任何人都可以解释普通视图之间的区别.它是Django文档页面中的同一个民意调查应用程序
这是我的代码:
class DetailView(generic.DetailView):
model = Poll
template_name = 'polls/details.html'
def get_queryset(self):
def detail(request, poll_id):
try:
poll = Poll.objects.get(pk=poll_id)
except Poll.DoesNotExist:
raise Http404
return render(request, 'polls/details.html', {'poll': poll})
*********************Error ********************
TypeError at /polls/2/results/
as_view() takes exactly 1 argument (3 given)
Request Method: GET
Request URL: <app-path>/polls/2/results/
Django Version: 1.5.1
Exception Type: TypeError
Exception Value:
as_view() takes exactly 1 argument (3 given)
*****the url***
url(r'^(?P<pk>\d+)/$', views.DetailView.as_view, name='detail')
Run Code Online (Sandbox Code Playgroud)
as_view应根据文档调用,而不是引用,您的网址应如下所示:
url(r'^(?P<pk>\d+)/$', views.DetailView.as_view(), name='detail')
Run Code Online (Sandbox Code Playgroud)
注意括号的用法.
此外,您应该调用您的类PollDetailView来避免代码读者的混淆.
此外,detail()根本不会调用您定义的方法.所以你根本不应该定义它.此外,get_queryset()暂时保留该方法,尝试使基本视图首先工作.
| 归档时间: |
|
| 查看次数: |
3417 次 |
| 最近记录: |