【问题标题】:How to avoid hard-coding URLS in the static files on Django?如何避免在 Django 的静态文件中硬编码 URL?
【发布时间】:2017-06-07 16:23:37
【问题描述】:

是否有任何技术可以避免对 URL 进行硬编码,尤其是在外部静态资源文件(如 Django 中的 JavaScript 文件)中用于 Ajax 调用的 URL。

【问题讨论】:

    标签: django


    【解决方案1】:

    另一种处理方法是将 URL 添加到容器的数据属性中。

    <div data-add-book-url="{% url "book:add" %}">
        ...
    </div>
    

    然后您从该数据属性中提取该 URL 并在 AJAX 调用中使用它。

    【讨论】:

      【解决方案2】:

      我不知道是否有任何标准方法可以避免对 JavaScript 文件中的 URL 进行硬编码,但我可以建议一种方法。您可以在单独的文件中定义一个对象,例如“constants.js”的格式,

      var api = {
          api_name1 : "url_ for your api1",
          api_name2 : "url_ for your api2",
          };
      

      记得在使用脚本标签的任何其他 js 文件之前调用该文件。然后,由于 JavaScript 中的变量提升,JavaScript 会将这个对象“api”放在声明的顶部。此外,您可以通过调用api.api_name1 访问每个 URL。万一网址有变化,只需要在“constants.js”这个文件中进行更改即可。

      这是我正在遵循的一种方法,以避免自己对 URL 进行硬编码。你可以关注这个,或者如果你找到另一个比这更好或更有效的方法,请告诉我。

      【讨论】:

        猜你喜欢
        • 2022-10-31
        • 2020-11-19
        • 2018-11-19
        • 2010-10-22
        • 1970-01-01
        • 2014-03-07
        • 1970-01-01
        • 1970-01-01
        • 2015-07-31
        相关资源
        最近更新 更多