我一直在網上搜索這個特定問題的答案,並且很驚訝,我在這個問題上沒有找到太多東西。我有一個Django站點,我正在重做前端使用Angular,後端使用Django,這似乎是一種常見的做法。但是,我發現的例子都沒有涉及生產中靜態路徑變化的問題。我有一個S3存儲桶正在生產中。因此,使用路徑static/whatever/maybesomecss/oranimage
不適用於部分或嘗試使用$ resource存儲在.json文件中的一些數據。使用Django創建角JS部分和靜態文件
下面是一些代碼來說明我在說什麼。
.state('math', {
url: '/math',
templateUrl: 'games/math',
controller: 'MathController'
})
.state('secretgame', {
url:'/secretgame',
templateUrl: 'static/js/games/Partials/secretgame.html',
controller: 'secretController'
})
在上面,遊戲/數學如果有一個Django的網址,它會擊中。但是我不希望人們能夠直接去它,它會變得混亂(這是一個單獨的問題),反正我寧願在這裏使用partials。 '祕密遊戲'的作品,但templateUrl不會在生產中工作。基本上,由於S3存儲桶取代了「靜態」。
一個解決方案是將我通常使用的STATIC_URL設置粘貼到全局JavaScript變量中,然後使用類似templateUrl: staticUrl + js/games/partials/secretgame.html
的東西,但這看起來不太好。
有沒有人處理過這個問題?讓我知道我是否應該提供其他信息。
只是爲了澄清:在部分情況下,使用{%verbatim%}將Django模板與AngularJS的模板分開是行不通的。對於從Django URL加載的內容來說,這沒問題,但對於部分內容而言,這完全是由AngularJS消耗的。
不確定要理解你的問題,但不是那個問題可以幫助你解決你的問題嗎? :http://stackoverflow.com/questions/13741221/angular-js-and-partials –
@LukeSkywalker這看起來像是一種很好的方式來加載partials,我可能會嘗試,但它不能解決問題我應該從部分內引用我的靜態文件夾;對於img src,或額外的CSS或任何情況下可能。 – ssaeed
好吧,我讓你知道。我所做的是我所有的JS範圍都在一個模塊中。在我的HTML頁面的末尾,我使用在django視圖中的上下文中傳遞的參數{{static_folder}}來初始化模塊。 –