【发布时间】:2015-01-09 06:11:42
【问题描述】:
我有一个 UpdateView,我正在覆盖 form_valid 方法。由于某种原因,“请求”显示为未在覆盖的方法中定义。这是完整的课程:
class UpdateTopic(UpdateView):
model = Post
slug_field = 'pk'
slug_url_kwarg = 'pk'
form_class = CommentForm
template_name = "forums/update_topic.html"
def form_valid(self, form):
user = self.request.user
rep = self.request.user.player.get_rep_total
# protect the system against url input attacks
if user == self.object.user or rep >=2500:
self.object = form.save(commit=False)
self.object.updated_by = self.request.user
self.object.save()
messages.add_message(request, message.SUCCESS, "<strong>Success:</strong> The comment was edited successfully!")
else:
messages.add_message(request, message.ERROR, "<strong>Failed:</strong> You don't have the access level to edit that post!")
问题出在messages.add_message(request, message.SUCCESS, "<strong>Success:</strong> The comment was edited successfully!")这一行
似乎request 超出了范围。为什么要这样做?有没有办法解决这个问题?
【问题讨论】:
-
应该是
self.request而不是request。 -
@limelights 也许您可以将其发布为答案?
标签: python django django-forms django-views