Django中如何将javascript中的变量传给位于javascript内的{% url %}中的参数?

这个问题困扰了我一天,不知道困扰了你多久,希望能帮助你

django 中的url模版使用起来可以说是非常方便的,但是怎么在url模版中传入参数的

{% url "url.index" %}

正常的是这种情况就可以,想要添加参数{% url "url.index" 100 %} 或者{% url "url.index" id=100 n=10 %}

# url匹配用正则或者<int:id>都可以,官方有说明

上面两种方式,在解析的时候都会解析成url.index/100 或者url.index/100/10

如果参数是动态的怎么玩?比如有个select下拉框,选中某个op的时候,点击搜索,需要把op的value值带上

如果是这样,需要通过JavaScript来解决哈

<a href="javascript:" onclick="href_url()">搜索</a>
function get_select_value() {
var sel = document.getElementById('select_d');
var sid = sel.selectedIndex;
return sel[sid].value;
}
function href_url() {
var id = get_select_value();
var url = "{% url 'problem:search_info_page' 0 %}";
url = url.replace(/0/, id);
window.location.href=url
}
第一步获取到选中的value值
第二步写一个url的参数,使用replace进行替换,第一个参数是解析后的参数哦,就是/0/,然后第二个参数是我们获取到的vaule值,这样就可以啦


大功告成,睡个好觉~
posted @ 2019-12-13 08:36  绝世老中医  阅读(1328)  评论(4编辑  收藏  举报