2014-06-26 24 views
-1

到Django的模板,我有這個settings.py,其中包括我的global_constants.py傳遞Django的設置使用angularjs

現在我要訪問我在global_constants.py在我的Django的模板使用JS角度定義的常量。怎麼做?

global_constants.py contaai​​ns以下功能:

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

現在我要訪問此URL_ONEURL_TWOtemplate/index.html由我的Views.py調用。但我的目的是要把這個使用ANGULARJS放到我的模板中。我究竟能達到那個目標。需要一個概述,讓我得到正確的方向:)

如何我想在我Templete使用它是這樣的:

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

請注意,我用的ANGULARJS FOR我的模板

回答

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)。