鍍金池/ 問答/Python  HTML/ Django中如何將javascript中的變量傳給位于javascript內(nèi)的

Django中如何將javascript中的變量傳給位于javascript內(nèi)的{% url %}中的參數(shù)?

    <script type="text/javascript">
        function publish_article(){
            var title=$("#id_title").val();
            var column_id=$("#which_column").val();
            var body=$("#id_body").val();
            $.ajax({
                url:"{% url 'article:article_post' %}",
                type:"POST",
                data:{"title":title,"column_id":column_id,"body":body},
                success:function (e) {
                    e=JSON.parse(e);
                    if(e["e"]=="1"){
                        layer.msg("successful.");
                        location.href="{% url 'article:article_detail' id=e["id"] slug=e["slug"] %}";
                    }else if(e["e"]=="2"){
                        layer.msg("sorry.");
                    }else{
                        layer.msg("項目名稱必須寫,不能空");
                    }
                },
            });
    }
    </script>

這是我的Django的頁面下的javascript代碼;
location.href="{% url 'article:article_detail' id=e["id"] slug=e["slug"] %}";這里拿不到e這個變量?。。。?!怎么破????求教各位大神

回答
編輯回答
尤禮

因為url 是渲染頁面的時候就需要傳參,而你這個是調(diào)用js之后才會有值,所以把id 和 slug 先給個固定值。
比如 {% url ‘a(chǎn)rticle:article_detail’ id=0000 slug="slug" %}
然后就會渲染成一個article/article_detail/0000/slug/ 這樣的url 。然后用javascript 去替換一下。
url.replace(/0000/,id) 類似這樣。。。。

2017年2月10日 12:21