2010-12-13 61 views
0

我有一个表单,用户选择年份和性别,然后点击提交。有了这些值,我正在计算数字,绘制一些图片等等。到目前为止,一切都很好。
我想要做的是在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文件。
我需要输入按钮才能够支持超链接,他必须能够保存用户选择的值。
任何想法来解决这个问题?

感谢

回答

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>