【发布时间】:2018-08-21 00:18:25
【问题描述】:
我创建了一个下拉菜单,它应该将数据传递给有助于过滤查询集的视图。但是,看起来数据实际上并没有传递给视图。下面是我写的相关代码。
模板.html
<!-- Query based content for dropdown menu -->
<form method="POST" action="{% url 'property-selected' %}" id="property-select">
{% csrf_token %}
<select class="dropdown-content" onchange="this.form.submit()" name="property-select">
{% if current_user_meters %}
<option disabled selected> -- select an option -- </option>
{% for meter in current_user_meters %}
<option class="dropdown-menu-option" value="{{meter.id}}">{{meter.name}}</option>
{% endfor %}
{% else %}
<option>You don't have any meters</option>
{% endif %}
</select>
</form>
views.py
def property_selected(request):
if request.method == 'POST':
selection = request.POST.get('property-select')
current_user_groups = Group.objects.filter(
id__in=request.user.groups.all()
)
current_user_properties = Property.objects.filter(
groups__in=current_user_groups
)
current_user_meters = Meter.objects.filter(
meter_id__in=current_user_properties
)
selected_meters = Meter.objects.filter(name=selection)
selected_meter_data = MeterData.objects.filter(
name=selection
).order_by('date')
return render(request, 'properties/property-selected.html', {
'current_user_meters': current_user_meters,
'selection': selection,
'selectected_meters': selected_meters,
'selected_meter_data': selected_meter_data,
})
对于视图文件中的查询集,selection 变量似乎没有得到任何东西,这是我希望来自 POST 请求的数据的地方。我希望将 POST 请求中的数据发送到那里,以便我的 selected_meters 和 selected_meter_data 查询能够按预期工作。
【问题讨论】:
标签: python jquery html css django