【问题标题】:Send form informations between pages in DJANGO在 DJANGO 中的页面之间发送表单信息
【发布时间】:2021-08-04 04:15:06
【问题描述】:
我的 Django 应用程序有问题。
理论上,我想做的很简单,但我不明白。我正在使用“基于类的视图”。我想要做的是以下内容,我打算在我的表单上有一个页面,所以当用户单击按钮提交信息时,Django 必须使用表单上的信息执行一些数学计算,并且在计算之后一切,应将用户重定向到具有计算结果的新页面。
有人能告诉我如何做到这一点吗?下面是该过程的图形示例。
CLICK TO SEE THE PROCESS
算法:
- 使用表单捕获信息 - VIEW 01 / TEMPLATE 01
- 使用提交的信息执行一些数学计算
- 在另一个页面上显示结果 - VIEW 02 / TEMPLATE 02
【问题讨论】:
标签:
python
django
forms
django-views
django-class-based-views
【解决方案1】:
这可能会有所帮助。
验证并保存表单后:
if form.is_valid():
form.save()
您可以使用 GET 参数将用户重定向到另一个路径,如下所示:
return redirect(reverse('view_02_name_in_urlconf', kwargs={"key": your_calculation}))
所以,你可以这样做:
if form.is_valid():
form.save()
# do some calculations with form over here
return redirect(reverse('view_02_name', kwargs={"key": your_calculation}))
view_02 的 URL 配置必须如下所示:
url(r'^/(?P<key>[0-9]+)/$', views_02.view_02_name_in_view.py, name='view_02_name')
视图及其函数可以用任何你喜欢的字符串命名。
然后您可以在 view_02 中显示计算出的数据。或者您可以使用原始数据进行反转并在 view_02 中进行计算。
感谢阅读。