This commit is contained in:
王思川 2024-05-30 17:09:09 +08:00
parent 6bab6d6191
commit 0d46c610be
2 changed files with 10 additions and 7 deletions

View File

@ -10,6 +10,6 @@ def getattr_filter(obj, attr):
return getattr(obj, attr, '') return getattr(obj, attr, '')
@register.simple_tag @register.filter
def get_query_param(request, param_name): def get_value(dictionary, key):
return request.GET.get(param_name, '') return dictionary.get(key)

View File

@ -1,3 +1,5 @@
{% load tags %}
<form action="{% url form_action_url %}" method="get"> <form action="{% url form_action_url %}" method="get">
{% csrf_token %} {% csrf_token %}
<div class="row"> <div class="row">
@ -5,21 +7,22 @@
{% if filter.type == 'text' %} {% if filter.type == 'text' %}
<div class="col"> <div class="col">
<label for="{{ filter.id }}" class="form-label">{{ filter.label }}</label> <label for="{{ filter.id }}" class="form-label">{{ filter.label }}</label>
<input type="text" class="form-control" id="{{ filter.id }}" name="{{ filter.name }}" placeholder="{{ filter.placeholder }}"> <input type="text" class="form-control" id="{{ filter.id }}" name="{{ filter.name }}" placeholder="{{ filter.placeholder }}" value="{{ request.GET|get_value:filter.name }}">
</div> </div>
{% elif filter.type == 'select' %} {% elif filter.type == 'select' %}
<div class="col"> <div class="col">
<label class="form-label" for="{{ filter.id }}">{{ filter.label }}</label> <label class="form-label" for="{{ filter.id }}">{{ filter.label }}</label>
<select class="form-control" id="{{ filter.id }}" name="{{ filter.name }}"> <select class="form-control" id="{{ filter.id }}" name="{{ filter.name }}">
<option value="">请选择</option>
{% for option in filter.options %} {% for option in filter.options %}
<option value="{{ option.value }}">{{ option.display }}</option> <option value="{{ option.value }}" {% if request.GET|get_value:filter.name == option.value %}selected{% endif %}>{{ option.display }}</option>
{% endfor %} {% endfor %}
</select> </select>
</div> </div>
{% elif filter.type == 'date' %} {% elif filter.type == 'date' %}
<div class="col"> <div class="col">
<label for="{{ filter.id }}" class="form-label">{{ filter.label }}</label> <label for="{{ filter.id }}" class="form-label">{{ filter.label }}</label>
<input type="date" class="form-control" id="{{ filter.id }}" name="{{ filter.name }}"> <input type="date" class="form-control" id="{{ filter.id }}" name="{{ filter.name }}" value="{{ request.GET|get_value:filter.name }}">
</div> </div>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
@ -27,4 +30,4 @@
<button type="submit" class="btn btn-primary">查询</button> <button type="submit" class="btn btn-primary">查询</button>
</div> </div>
</div> </div>
</form> </form>