使用AngularJS模板标签在Django中。

10 浏览
0 Comments

使用AngularJS模板标签在Django中。

我想在Django中使用AngularJS,然而它们都使用{{ }}作为它们的模板标签。有没有一种简单的方法可以更改其中之一以使用其他自定义模板标签?

0
0 Comments

在Django中使用AngularJS模板标签的原因是为了解决与外部包的兼容性问题。如果正确分离页面的不同部分,那么可以在"raw"标签范围内轻松使用AngularJS标签。

在Jinja2中,可以使用以下代码来使用AngularJS模板标签:

{% raw %}

// 在这里可以写入AngularJS模板标签。

{% endraw %}

在Django模板(1.5版本以上)中,可以使用以下代码来使用AngularJS模板标签:

{% verbatim %}

// 在这里可以写入AngularJS模板标签。

{% endverbatim %}

这种解决方案不会破坏与外部包的兼容性,与接受的答案相比更加灵活。

0
0 Comments

使用AngularJS模板标签在Django中的出现原因是为了能够将服务器端的数据与AngularJS结合使用。然而,使用django的verbatim标签可以解决这个问题,但在需要从服务器端获取数据来引导视图的情况下,这种方法会变得非常混乱。想象一下,用户的用户名是不会改变的,所以可以直接在模板中写入,但可能会有一些与之相关的部分需要使用AngularJS来写入。

在Django 1.5版本后,verbatim成为Django核心标签的一部分。在Django 1.7版本中,不需要加载verbatim标签,因为它已经包含在标准标签库中。可以直接使用这些标签。

为了将Django上下文中的值传递到JavaScript中,可以使用内置的json_script模板标签。这个标签会创建一个具有给定ID的