【发布时间】:2020-03-28 03:15:53
【问题描述】:
使用 Django==2.1.7 和 python3.7 - 我在使用 FormView 时真的很吃力 - 请参阅下面的脚本。
如何将通过表单提交的变量search_string 和通过get_context_data 添加的context["new_context_entry"] 中的值传递到success_url,以便可以在提交表单时在我的模板中呈现这些值?
class ConfigSearchTest(FormView):
template_name = 'archiver_app/config_view.html'
form_class = forms.DeviceSearchForm
success_url = 'archiver/search_results/'
def form_valid(self,form):
search_string = form.cleaned_data['search_string']
return super(ConfigSearchTest,self).form_valid(form)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
new_context_entry = "adding additional"
context["new_context_entry"] = new_context_entry
return context
【问题讨论】:
-
稍后我可以提供一个更完整的示例,但如果您将搜索字符串作为成员变量,如下所示:
self.search_string = ....,那么您可以将get_success_url()覆盖为return success_url + '?search_string=' + self.search_string。 -
@fiddlestix 谢谢 - 如果你能提供一个更完整的例子,不胜感激。
标签: python django django-forms django-views