我正在通过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%}可见。
关于如何做到这一点的任何想法?
答案 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中的插孔。