作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前,我有一个看起来像这样的表格:
class SelectBoard(generic.FormView):
form_class = forms.SelectBoard
def form_valid(self, form):
board_name = form.cleaned_data['name']
return redirect('leaderboard', board_name=board_name)
get_success_url
。像这样的东西:
class SelectBoard(generic.FormView):
form_class = forms.SelectBoard
def get_success_url(self):
form = ???
board_name = form.cleaned_data['name']
return reverse('leaderboard', board_name=board_name)
get_success_url
,并且与许多其他请求上下文(例如
self.request
,
self.kwargs
或
self.object
(在
DetailView
中))不同,该表单不会作为属性附加到标准
FormView
调度序列中的任何位置。有什么好的方法可以访问
get_success_url
中经过清理和验证的表单数据(也就是说,无需访问
self.request.POST
或从头开始重建表单)?
最佳答案
您可以重写form_valid
方法以将表单写为实例属性,并在self.form
中使用get_success_url
:
class SelectBoard(generic.FormView):
form_class = forms.SelectBoard
def form_valid(self, form):
"""If the form is valid, redirect to the supplied URL."""
self.form = form
return HttpResponseRedirect(self.get_success_url())
def get_success_url(self):
board_name = self.form.cleaned_data['name']
return reverse('leaderboard', board_name=board_name)
关于python - 如何在 `FormView.get_success_url()`中访问表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48595913/
我是一名优秀的程序员,十分优秀!