Django - 基于类的视图返回一个空白页面

时间:2015-06-20 22:10:40

标签: python django django-class-based-views

我正在尝试使用基于类的视图来创建一个页面,我可以通过他的ID删除文章。

这是创建我可以删除文章的页面的代码。

views.py

class DeleteView(View):
    def post(self, request, *args, **kwargs):
        article = get_object_or_404(id=request.POST['article_id'])
        article.delete()
        return HttpResponseRedirect('/')

template.html

<form action="views.article.DeleteView" method="POST">
    {% csrf_token %}
    <p>{{ article.views.id }}"</p>
    <input type="submit" value="Delete">
</form>

urls.py

url(r'^delete/(?P<id>\d+)/$', DeleteView.as_view(), name="DeleteView"),

这是我的问题&gt;页面没有呈现,我得到一个没有任何内容的空白页面,我该如何解决这个问题?

*******编辑*******

views.py

class DeleteView(View):
    def post(self, request, *args, **kwargs):
        article = get_object_or_404(id=request.POST['article_id'])
        article.delete()
        return HttpResponseRedirect('/')

    def get(self, request, *args, **kwargs):
        article = Article.objects.get(id=kwargs['id'])
        context = {"article": article}
        return render_to_response("template.html", context, context_instance=RequestContext(request)) 

1 个答案:

答案 0 :(得分:1)

在模板文件中编辑:

<form action="{% url "DeleteView" %}" method="POST">
    {% csrf_token %}
    <input type="hidden" name="acticle_id" value="{{ article.id }}">
    <input type="submit" value="Delete">
</form>

请阅读this。模板文件应以html结尾,而不是py