如何在Django的静态文件中包含模板标签?

时间:2016-04-02 12:50:08

标签: django django-staticfiles

我希望能够在我的静态文件中使用模板标记(例如{% url 'my_view' %})而不是/path/to/my_view来删除我的静态文件。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

简短的回答是否定的。但是你可以绕过这个,我能想到两种方法:

  1. 在您的基本html模板中添加一个包含所需网址的脚本,它们需要全局可用,以便您可以使用其他脚本访问它们
  2. 制作一个脚本以生成包含所有网址的.js文件,并将其与所有其他静态文件放在一起(django translations for js使用类似的方法)
  3. 方法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>