使用angularjs将django设置传递到django模板

时间:2014-06-26 20:06:01

标签: python django angularjs django-templates django-views

我的settings.py包含global_constants.py

现在我想使用Angular JS访问我在我的Django模板中global_constants.py中定义的常量。怎么做?

我的global_constants.py包含以下功能:

def my_image_urls(request):
    return {
        "URL_ONE": "http://mywebsite.com/IMAGE/Image_one",
        "URL_TWO": "http://mywebsite.com/IMAGE/Image_two",
    }

现在,我想在我URL_ONE调用的URL_TWO中访问此template/index.htmlViews.py。但我的目的是在我的模板中使用 ANGULARJS 来调用它。我究竟能做到这一点。需要一个概述,以便我朝着正确的方向前进:)

我想如何在我的Templete中使用它是这样的:

{{ URL_ONE }} /myimage.jpeg
{{ URL_TWO }} /myimage_two.jpeg

请注意我使用ANGULARJS作为我的模板

1 个答案:

答案 0 :(得分:2)

为了从django获取值到angularjs,有两种主要方式:

  • 创建一个返回JSON的视图
  • 在为angularjs应用程序提供服务的视图中,使用django模板将额外信息编码为脚本标记或数据属性。

因此,如果您绝对不想使用任何django模板,那么您的角度js应用程序将需要调用您的JSON设置视图。

如果您希望消除该初始往返行程,请使用django模板将您的值注入javascript:

<script type="text/javascript">
var DJANGO_URLS = {URL_ONE: "{{URL_ONE}}", URL_TWO: "{{URL_TWO}}"};
</script>

您的角度应用现在可以全局访问变量(即window.DJANGO_URLS)。