我有一张下面第一张图片中显示的表格和第二张图片中显示的一组导航栏。当我点击导航栏时,它会调用一个以“图表”或“表格”结尾的网址。每当我按下导航栏时,表格中的所有值都会被清除为原始模板。当我从图表切换到表格时,我需要它们保持这种状态,我得到相同的信息。即如果选择了基金类型,我希望它仍然是他们,如果我之前在图表上点击表格。我尝试使用“GET”:
min_year = request.GET.get('year_min', None)
if not min_year:
min_year = '2013'
但这只有在我提交表格时才有效。只要我点击其中一个值,它就会重置。
这是“开始年份”框的html:
<h6>Start Year</h6>
<div class="form-group">
{{form.year_min|attr:"class:form-control"}}
</div>
以下是表格:
CHOICES = (
('1998', '1998'),
('1999', '1999'),
('2001', '2001'),
('2002', '2002'),
('2003', '2003'),
('2004', '2004'),
('2005', '2005'),
('2006', '2006'),
('2007', '2007'),
('2008', '2008'),
('2009', '2009'),
('2010', '2010'),
('2011', '2011'),
('2012', '2012'),
('2013', '2013'),
('2014', '2014'),
('2015', '2015'),
('2016', '2016'),
('2017', '2017'),
('2018', '2018'),
)
year_min = forms.ChoiceField(choices=CHOICES, required=True, label='Start Year')
看起来你需要使用Ajax。当您通过更改页面的URL(或通过单击普通链接)执行GET
时,您实际上是从该页面导航。即使在这种情况下也应该有方法来保存表单数据,但我建议你看看here