如何将值从onChange事件传递到Django url模板?

问题描述 投票:0回答:1

似乎我想做的事应该很简单,但是我还没弄清楚。我正在将Django 2.06与Geodjango一起使用。我有一个带下拉菜单的简单UI。为了响应下拉选择中的更改,我为onChange事件提供了一个事件侦听器。想法是从事件中获取e.target.value并将其作为URL中查询参数的值。

所以在index.html中,我有:

const property_name = document.getElementsByName('properties')[0];
property_name.addEventListener('change', (e) => {
zones = new L.GeoJSON.AJAX("{% url 'zones' property=e.target.value %}", { ...

在urls.py中,我有:

url(r'^zones_data/$', zone_datasets2, name='zones'),

并且在views.py中,我拥有:

def zone_datasets2(request):
    property = request.GET.get('property', '')

[当我尝试加载网页时,出现的错误是:

NoReverseMatch at /
Reverse for 'zones' with keyword arguments '{'property': ''}' not found. 1 pattern(s) tried:          ['zones_data/$']

有人可以告诉我我在做什么错吗?如何将下拉菜单选择传递给URL,以及如何定义适用于此的URL模式?谢谢。

django geodjango
1个回答
0
投票

如果要使用/zones_data?property=...之类的网址,则应具有:

"{% url 'zones' %}?property=e.target.value"
© www.soinside.com 2019 - 2024. All rights reserved.