2016-04-02 127 views
1

我希望能夠通過在我的靜態文件中使用模板標記(如{% url 'my_view' %})而不是/path/to/my_view來幹掉我的靜態文件。有沒有辦法做到這一點?如何在Django的靜態文件中包含模板標籤?

+0

靜態文件不由django提供,所以不支持。它是用於js文件嗎? – danielcorreia

+0

@danielcorreia是的。他們是JS。我的意思是,當我使用'python manage.py collectstatic'時我會運行一些東西(我不打算更改URL的次數,然後改變JS)。 –

回答

1

簡短的回答是否定的。但是你可以繞過這個,還有我能想到的兩種方法:

  1. 添加腳本與你在你的基地HTML模板所需要的網址,他們需要在全球範圍內可用,以便您可以與其他腳本
  2. 訪問它們
  3. 使腳本生成的所有URL中的.js文件,並與所有其他staticfiles把它(django translations for js使用類似的方法)

方法1,會是這樣的:

<html> 
... 
<script> 
    var myApp = { 
    URLS: { 
     login: {% url 'login' %}, 
     welcome: {% url 'welcome' %}, 
     ... 
    } 
    } 
</script> 
<script>console.log("The login url is " + myApp.URLS.login + "!")</script> 
<script src="script/that/uses/urls.js"></script> 
... 
</html> 
相關問題