你好,我写了代码用户,以便能够在他们想要的时候编辑帖子。我可以通过删除成功完成它,但是当用户点击结束时完成编辑按钮时进行编辑,它就会被编辑。我有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 }}
答案 0 :(得分:1)
表单需要提交到编辑页面,以便处理和保存数据。