<p>多亏了Daniel和他的代码的帮助,我找到了导致我需要的修改。我已将DetailView的genericView更改为“通用.DetailView“至”通用.ListView". 当它被制造出来时,另一个问题出现了。为了通过JSON传递“datetime”,它将转换为字符串格式,并且所有日期都被视为字符串,因此我无法在中的单独字段中显示这两个日期详细信息.html. 为了克服这个问题,我修改了Daniel提出的解决方案,并将字段一分为二,这样就可以通过form.u数据并将其转换为字符串,现在我不需要担心JSON序列化“datetime”。你知道吗</p>
<p>你知道吗视图.py地址:</p>
<pre><code>class IndexView(generic.FormView):
template_name = 'dutos/index.html'
form_class = GetDate
success_url = reverse_lazy('detail')
def form_valid(self, form):
#self.request.session['dates'] = json.dumps(form.cleaned_data, cls=DjangoJSONEncoder)
self.request.session['dateInicial'] = str(form.cleaned_data['dateDataInicial'])
self.request.session['dateFinal'] = str(form.cleaned_data['dateDataFinal'])
return super().form_valid(form)
class DetailView(generic.ListView):
model = Dutos
template_name = 'dutos/detail.html'
def get_context_data(self, **kwargs):
#kwargs['dates'] = self.request.session.pop('dates', {})
kwargs['dateInicial'] = self.request.session.pop('dateInicial', {})
kwargs['dateFinal'] = self.request.session.pop('dateFinal', {})
return super().get_context_data(**kwargs)
</code></pre>
<p>你知道吗索引.html地址:</p>
<pre><code><div class="container-fluid" id="wrapper">
<div class="row">
<form action="" method="post">
{% csrf_token %}
{{ form.non_field_errors }}
<div>
<div class="fieldWrapper">
{{ form.dateDataInicial.errors }}
<label for="{{ form.dateDataInicial }} Data Inicial: </label>
{{ form.dateDataInicial }}
</div>
<div class="fieldWrapper">
{{ form.dateDataFinal.errors }}
<label for="{{ form.dateDataFinal }} Data Final: </label>
{{ form.dateDataFinal }}
</div>
<input type="submit" value="Pesquisar">
</div>
</form>
</div>
</div>
</code></pre>
<p>你知道吗详细信息.html地址:</p>
<pre><code><body>
<h1>Detalhes</h1>
{{ dateFinal }}
<br>
{{ dateInicial }}
</body>
</code></pre>