编写了一个不会起作用的编辑功能,非常混淆了我的表单中应该采取什么操作

时间:2016-02-03 07:35:41

标签: python django

你好,我写了代码用户,以便能够在他们想要的时候编辑帖子。我可以通过删除成功完成它,但是当用户点击结束时完成编辑按钮时进行编辑,它就会被编辑。我有http://127.0.0.1:8000/post/hello/来发布你好帖子。现在编辑页面http://127.0.0.1:8000/post/edit/hello/。最后,当用户点击完成编辑时,它应该带我回到http://127.0.0.1:8000/post/hello/编辑版本。但是它没有被编辑。

views.py

class PostUpdateView(UpdateView):
     model = Post
     form_class = PostForm
     template_name = 'main/edit.html'

     def form_valid(self, form):
            self.object = form.save(commit=False)
            # Any manual settings go here
            self.object.save()
            return HttpResponseRedirect(self.object.get_absolute_url())

     @method_decorator(login_required)
     def dispatch(self, request, *args, **kwargs):
        post = Post.objects.get(slug=kwargs['slug'])
        if post.moderator == request.user:
            return super(PostUpdateView, self).dispatch(request, *args, **kwargs)
        else:
            return http.HttpForbidden()

urls.py

        url(r'^post/edit/(?P<slug>[\w|\-]+)/$', PostUpdateView.as_view(), name='post-edit'),

for edit.html

<form id="post_form" method="post" action="/post/{{ post.slug }}/" enctype="multipart/form-data">
    {% csrf_token %}
    {{ form|crispy }}

1 个答案:

答案 0 :(得分:1)

表单需要提交到编辑页面,以便处理和保存数据。