2016-04-02 10 views
1

/path/to/my_viewの代わりに{% url 'my_view' %}のようなテンプレートタグを静的ファイルに使用して静的ファイルをDRYできるようにしたいと考えています。これを行う方法はありますか?テンプレートタグをDjangoの静的ファイルに含めるにはどうすればよいですか?

+0

静的ファイルはdjangoによって提供されません。 jsファイル用ですか? – danielcorreia

+0

@danielcorreiaはい。彼らはJSです。私は 'python manage.py collectstatic'を使用したときに実行されるものを意味しました(私はURLを頻繁に変更してからJSを変更する予定はありません)。 –

答えて

1

短い答えはいいえ。しかし、あなたはこれを回避することができ、私は考えることができる2つのアプローチがあります:

  1. は、あなたのベースHTMLテンプレートに必要なURLでスクリプトを追加、彼らはあなたが他のスクリプトでそれらにアクセスできるように、世界的に利用できるようにする必要があります
  2. ようになり、アプローチ1

django translations for js同様のアプローチを使用)スクリプトは、すべてのURLで.jsファイルを生成し、他のすべてのstaticfilesでそれを置くために作る:

<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> 
関連する問題