我在tags.py中写了以下标记:
@register.simple_tag
def getUserName(request, user_id):
return foo(user_id)
在我的html模板中,我将django符号{{}}与角度符号{[{}]}组合在一起 (AngularJS with Django - Conflicting template tags)。 所以我写了这个表达式:
{% getUserName request {[{ angular_conversation.user_id }]} %}
问题是在angularjs解析内部表达式之前的django解析器。 请告诉我如何才能使它有效......
答案 0 :(得分:2)
你做不到。你必须考虑一个解决方法。从Django 1.5开始,您可以使用{% verbatim %}
标记来阻止渲染中的任何内容(包括{{}}
符号)。
{% getUserName request {[{ angular_conversation.user_id }]} %}
您使用此功能的原因是什么?你不能像{{ request.user.username }}
那样做吗?
答案 1 :(得分:1)
更改默认的Django模板分隔符或Angular的插值分隔符(请参阅$interpolateProvider)。
类似的东西:
myApp.config(function($interpolateProvider) {
$interpolateProvider.startSymbol('//');
$interpolateProvider.endSymbol('//');
});
允许您在模板中使用“//”,这样可以避免冲突。
//myScopeObject.something//