【问题标题】:Passing django settings to django template using angularjs使用 angularjs 将 django 设置传递给 django 模板
【发布时间】:2014-06-26 20:06:00
【问题描述】:

我有这个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",
    }

现在我想在我的template/index.html 中访问这个URL_ONEURL_TWO,这由我的Views.py 调用。但我的目的是使用 ANGULARJS 将其调用到我的模板中。我究竟是如何做到这一点的。需要一个概述,以便我找到正确的方向:)

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

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

请注意,我在我的模板中使用 ANGULARJS

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2019-04-03
      • 2012-03-02
      • 2016-11-17
      • 2010-12-26
      • 2011-11-20
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多