我有一个表单,用户选择年份和性别,然后点击提交。有了这些数值,我正在计算数字,绘制一些图片等等。到目前为止一切都很好 我想做的是在documentation的帮助下将这些图片和数据打开成pdf文件。
事情是,当他点击提交按钮时,我无法重定向用户。模板中的代码如下:
<form action="" method="post">
<div class="report">
{% for field in form_year %}
{{ field }}
{% endfor %}
</div>
<div class="report">
{% for field in form_gender %}
{{ field }}
{% endfor %}
</div>
{% ifequal id_year None %}{% ifequal id_gend None %}
<p><input type="submit" value="submit"/>
{% else %}
<p><input type="submit" value="submit" onclick="window.open('{% url pdf id_year id_gend %}'),'Ratting','width=700,left=50,height=600,0,status=0,scrollbars=1,');"/></p>
{% endifequal %}{% endifequal %}
但在选择一些变量后,当我点击提交时,输入按钮消失,并且不会打开任何pdf文件。
我需要输入按钮才能支持超链接,他必须能够保存用户选择的值
有什么想法可以解决这个问题吗?
由于
答案 0 :(得分:1)
所以我必须做的就是这样:
在允许用户选择数据的视图中:
form_year = YearForm()
form_gender = GenderForm()
return render_to_response('report.html',
{
'form_year': form_year,
'form_gender': form_gender,
})
在打开pdf:
的视图中if request.method == 'POST':
form_year = YearForm(request.POST)
form_gender = GenderForm(request.POST)
if form_year.is_valid() and form_gender.is_valid():
id_year = form_year.cleaned_data['years']
id_gend = form_gender.cleaned_data['gender']
filename = image #then insert this image into pdf file
和表单,进入模板:
<form action="./pdf" method="post">
<div>
{% for field in form_year %}
{{ field }}
{% endfor %}
</div>
<div>
{% for field in form_gender %}
{{ field }}
{% endfor %}
</div>
<p><input type="submit" value="submit"/></p>
</form>