天地一扁舟 2015-04-14 06:46 采纳率: 0%
浏览 4947

js中如何对django模板中的变量进行赋值

问题是这样的:
在views.py文件中,文件如下:
def index(req):
company_contact = '联系我们'
company_about = '关于我们'
company = ""
return render_to_response("about.html", locals())
我希望根据当前网页的地址是以about结尾,还是contact结尾,来分别对company赋予comoany_about,或者赋予company_contact,并在html中展示{{company}}的值,但下面这种写法是错误的,哪位朋友能够指导一下,十分感谢

在html页面中

 <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>关于我们</title>

<script type="text/javascript">
function load()
{
    var currentUrl = window.location.search;
    var div_obj = document.getElementById("div_id");
    var index = currentUrl.indexOf("=");
    if(index != -1)
    {
        //截取出是哪个页面
        var value = currentUrl.substring(index + 1 , currentUrl.length );
        if(value == "about")
        {
            var p_obj = document.createElement("p");
            p_obj.innerHTML = "这是关于我们页面 {{company_about}}";
            {{company}} = {{company_about}};
            document.body.appendChild(p_obj);
        }
        else if(value == "contact")
        {
            var p_obj = document.createElement("p");
            p_obj.innerHTML = "这是联系我们页面 {{company_contact}}";
            {{company}} = {{company_about}};
            document.body.appendChild(p_obj);           
        }
    }
    else
    {
        alert("找不到");
    }
    //alert(currentUrl);
}
</script>

</head>

<body onload="load()">
<input type="button" value="返回主页面" onclick="java:location.href='../index'"/>
<label>{{company}}</label>
<div id="div_id">
</div>
</body>
</html>
  • 写回答

1条回答 默认 最新

  • Go 旅城通票 2015-04-14 06:56
    关注

    一个是客户端,一个是服务器端,服务器端无法直接使用客户端的变量。。你直接在客户端操作不就行了。不懂py,return render_to_response("about.html", locals())这个返回的浏览器地址栏显示什么内容

    window.location.search是获取查询参数,就是页面后面问号那一串。location.pathname是录取路径,不包含查询参数。你要搞清楚你要获取那部分内容。

     <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>关于我们</title><script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.min.js"></script>
    
    <script type="text/javascript">
    function load()
    {
        var currentUrl = window.location.search;
        var div_obj = document.getElementById("div_id");
        var index = currentUrl.indexOf("=");
        if(index != -1)
        {
            //截取出是哪个页面
            var value = currentUrl.substring(index + 1, currentUrl.length);
            alert(value)
            if(value == "about")
            {
                var p_obj = document.createElement("p");
                p_obj.innerHTML = "这是关于我们页面 {{company_about}}";
                //{{company}} = {{company_about}};
                document.body.appendChild(p_obj);
    
                document.getElementById('lb').innerHTML = '关于我们'////////
            }
            else if(value == "contact")
            {
                var p_obj = document.createElement("p");
                p_obj.innerHTML = "这是联系我们页面 {{company_contact}}";
                //{{company}} = {{company_about}};
                document.body.appendChild(p_obj);
    
                document.getElementById('lb').innerHTML = '联系我们'    //////////
            }
        }
        else
        {
            alert("找不到");
        }
        //alert(currentUrl);
    }
    </script>
    
    </head>
    
    <body onload="load()">
    <input type="button" value="返回主页面" onclick="java:location.href='../index'"/>
    <label id="lb"></label><!-----增加id,用js来设置,------->
    <div id="div_id">
    </div>
    </body>
    </html>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器