我不知道如何在myapp中配置views.py
和urls.py
。用于过滤模板中输入日期的日期之间的列表。
这是我的models.py
:
class Paciente(models.Model):
tipo_doc = models.ForeignKey(Tipo_doc)
num_doc = models.CharField(max_length=20, primary_key=True)
...
class Consulta (models.Model):
numero = models.ForeignKey(Paciente)
fecha = models.DateField()
...
这是我的文件" lista.html"在模板中:
<h5>
Fecha desde: <input class="inputDate" id="fechadesde" value={{ fecha_d }} />
Fecha hasta: <input class="inputDate" id="fechahasta" value={{ fecha_h }} />
<a href="/clinica/filtrar_consulta" class="button">Filtrar</a>
</h5>
<ul class="actions">
...
我需要按paciente
和2个日期(fecha_d
,fecha_h
)过滤列表,但我不知道如何在网址中传递参数。谢谢
答案 0 :(得分:0)
首先,我使用表单进行过滤:
lista.html:
<form method='get' action='.'>
Fecha desde: <input class="inputDate" name='fechadesde' />
Fecha hasta: <input class="inputDate" name="fechahasta" />
<input type='submit' value='Filtrar'/>
</form>
然后,在您的视图中,您需要检索这些值并根据该值过滤查询集。 这是一个可以在函数或基于类的视图中使用的代码片段:
qs = Paciente.objects.all()
fecha_desde = request.GET.get('fechadesde', None)
fecha_hasta = request.GET.get('fechahasta', None)
if fecha_desde:
qs = qs.filter(fecha__gte=fecha_desde)
if fecha_hasta:
qs = qs.filter(fecha__lte=fecha_hasta)
context = {'consultas': qs}
从那里开始。一个很好的增强功能是使用django表单系统而不是手动编写你的html并执行手动验证
详细了解他们here