修改jquery代码中的django模板变量

Asi*_*sif 1 python django jquery django-templates

我有 django 模板,我在其中检查 TRUE 或 FALSE 变量。现在在 Jquery 中的特定事件上,我想将此 django 变量值修改为 TRUE 或 FALSE。

在views.py中

var = True
Run Code Online (Sandbox Code Playgroud)

在模板中

{% if var %}

do something

{% endif %}
Run Code Online (Sandbox Code Playgroud)

HTML代码

<form>

  <label for="target">Enter Key:</label>
  <input id="target" type="text" />

 {% if var %}

 dispaly other stuff

 {% endif %}

 </form>
Run Code Online (Sandbox Code Playgroud)

查询

 <script>
   $('#target').keydown(function(event) {
      if ($(this).val() == '00000 )
       {
        jvar = {{var}}
       }
     });
Run Code Online (Sandbox Code Playgroud)

我想在特定事件上更改 Jquery 中“var”的值

我怎样才能做到这一点?

提前致谢

Pau*_*ine 5

如果我正确理解你的问题,你不能。

模板变量在服务器端,jQuery 在客户端工作。

所以你不能改变模板,但你可以在浏览器中改变生成的 HTML。使用 firefox firebug 之类的东西来检查 HTML,你会发现没有 django 模板的痕迹。

当您的模板 html/javascript 代码到达浏览器时,jvar = {{var}}将类似于jvar = 4325.

只需打开 firebug 控制台并测试 javascript/jQuery 表达式。

<script type="text/javascript">
$('document').ready(function(){
    $('#some_element_id').click(function(ev) {
        jvar = 1;
        $('#some_content').show();
        $('#some_other_content').hide();
    });

    $('#some_other_element_id').click(function(ev) {
        jvar = 2;
        $('#some_content').hide();
        $('#some_other_content').show();
    });
});
</script>
...
<div id="some_content">
     display some stuff
</div>

<div id="some_other_content">
     display some other stuff
</div>
Run Code Online (Sandbox Code Playgroud)