使用django_filter和{a2}作为日期选择器,我试图添加日期和时间输入、FROM和to字段。在
我只能使用一个只有django表单或django过滤器DateTimeFromToRangeFilter中一个字段的dateinput,而不显示日期选择器(只是手动文本输入)。在
这是我的过滤器_模型.py对于带有日期选择器的一个字段。在
from app.models.api_status import ApiStatus
import django_filters
from django import forms
class DateTimeInput(forms.DateTimeInput):
input_type = 'date'
# working solution for just 1 date field
class ApiStatusFilter(django_filters.FilterSet):
date_time = django_filters.DateFilter(
label=('With start date'),
lookup_expr=('icontains'), # use contains,
widget=DateTimeInput()
)
class Meta:
model = ApiStatus
fields = ['id', 'date_time']
图片显示了一个可单击的日期选择器弹出窗口。在
这是我的过滤器_模型.py对于不带日期选择器的“从”和“到”两个字段。在
^{pr2}$这是我的模板文件,尽管我在尝试上述两种方法时并没有做太多修改。 状态_模板.html
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="{% static 'css/table_styling.css' %}">
<meta charset="UTF-8">
<title>Test Site</title>
{% comment %}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
{% endcomment %}
</head>
<body>
<table>
<thead>
<tr>
{% for keys in dictionarys.keys %}
<th>{{ keys }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
<form method="get">
{{ apistatus_filter.form.as_p }}
<button type="submit">Search</button>
{% for user in dataqs.object_list %}
<tr>
<td>{{ user.id }}</td>
<td>{{ user.date_time }}</td>
{% endfor %}
</form>
</tbody>
</table>
{% comment %} <script>
$( function() {
$("#datepicker").datepicker();
} );
</script> {% endcomment %}
</body>
</html>
我确实查过这里和其他地方的各种消息来源。我尝试过使用MultiWidget和jQuery,但是还没有让它们正常工作。思想?提前谢谢。在
我可以不使用外部依赖项(没有jquery)来解决它,只使用datetime本地输入和DateTimeFromToRangeFilter和Range小部件。也许不是最理想的解决方案,但这是一种方法。在
我的模型、过滤器、视图和模板代码如下。在
模型.py
过滤器.py
^{pr2}$视图.py
模板.html
可以使用javascript使范围字段具有
datepicker
类。在我正努力让jQuery日期选择器与来自Django过滤器的}。在
DateTimeFromToRangeFilter
结合使用RangeWidget
。由于某些原因,RangeWidget
似乎不接受{在过滤器.py公司名称:
我更改了搜索模板html以包含以下脚本:
^{pr2}$其中
dtoriginal
是模型中字段的名称。_0
和_1
是RangeWidget
创建的“from”和“to”字段。在希望这能有所帮助,我花了好几个小时试图弄清楚如何通过django过滤器来实现它,但没有运气。在
相关问题 更多 >
编程相关推荐