将Django条件从javascript传递回django的方法

时间:2015-04-24 14:40:33

标签: javascript jquery django

我正在通过jQuery进行ajax调用,我正在尝试设置样式并将数据注入DOM。

如果我的javascript变量中有django条件,我怎么能将它还原回django仍然可以处理它的DOM。

Javascript示例

var injecthtml = 
'<a href="{% if user.is_authenticated %}'+datainfo.id+'{% else %}/register/{% endif %}"';
$("#somediv").html(injecthtml);

执行此操作后,当我检查DOM时,当我检查“a”标记时,{%if user.is_authenticated%}可见。

关于如何做到这一点的任何想法?

2 个答案:

答案 0 :(得分:1)

我认为你有一些问题&#39;和&#34;没有正确关闭,请尝试这样做:

var injecthtml = '<a href="/register/"></a>';
{% if user.is_authenticated %}

injecthtml = '<a href="'+datainfo.id+'"></a>';

{% endif %}

$("#somediv").html(injecthtml);

答案 1 :(得分:0)

如果您通过AJAX从服务器获取HTML,只需修改服务器端的html并传回正确的信息。

例如,user.is_authenticated在客户端会是true或false,所以如果你抓住它并将布尔值传递给你的ajax调用,服务器可以返回正确的HTML供你使用,你不要&# 39; t需要传递模板样式html。

否则只需从您的服务器请求DATA,然后使用您获得的数据修改html。

Django模板在客户端获取它之前替换了服务器端的所有内容,所以如果您正在获取特定的html,那么您只想复制它。

您的问题有点令人困惑,但我认为您正在寻找的是什么?

这段javascript无法正常工作...... django模板在服务器端呈现,所以&#34; {%}}&#34;除非你有一个客户端模板引擎(与django分开),否则并不意味着插入html / javascript中的插孔。

相关问题