Javascript .数据函数和/或jsonrequest方法

Javascript .数据函数和/或jsonrequest方法,javascript,jquery,python,django,Javascript,Jquery,Python,Django,下面是我的.ajax调用: 下面是我的django模板中使用按钮的部分: <a href="{% url "contracts:fax" pk=object.contract.pk %}" class="btn pull-right {{ object.state|request_state_color }} darken-2 btn-fax" data-turbolinks="false">{%trans "Fax contract" %}</a> 我的代码不是由Dj

下面是我的.ajax调用:

下面是我的django模板中使用按钮的部分:

<a href="{% url "contracts:fax" pk=object.contract.pk %}" class="btn pull-right {{ object.state|request_state_color }} darken-2 btn-fax" data-turbolinks="false">{%trans "Fax contract" %}</a>
我的代码不是由Django呈现的——它位于单独的JavaScript文件中,而不是Django模板中。因此,我不能将变量定义为var fax_number={{contract.request.customer.convert_fax_number};Somme的人告诉我,我可以使用jQuery.data函数,也可以使用django jsonrequest方法构建一个服务器端api,将传真号码作为JSON对象的一部分呈现。谁能有时间告诉我如何用我的代码做这样的事情

我们告诉我,我可以将数据传真属性添加到id为contact的DIV标记中,然后使用var fax=$contact.datafax。问题是我不知道如何使用Django。我最近开始使用javascript,这就是为什么我需要你的帮助

提前谢谢


另外,如果我的问题不清楚,请告诉我?

如果您想将一些动态数据从django传递到javascript,您需要在模板中这样做

原因有二:

Django不负责在生产环境中提供静态文件javascript。它不是基于每个请求进行编译的——这就是模板的用途。 如果动态地将新数据插入JS,则用户的浏览器将无法缓存它。如果您强制用户在每次访问页面时重新下载静态文件,则会影响网站的性能。 正如您所说,您的模板如下所示:

<html>
  <head>
    ...
  </head>
  <body>
    ...

    <script type="text/javascript">
      /* Remember to wrap these in quotes if they need to be strings.
      You may also need to use the |safe filter for some data types
      to ensure django doesn't escape them (e.g. JSON) */
      var fax_number = {{ contract.request.customer.convert_fax_number }};
    </script>

    <!-- Import your JS file AFTER defining your variables -->
    <script src="src.js"></script>
</html>

我必须键入'text/javascript'或.js文件的名称?如果要导入js文件,可以省略type=text/javascript。我认为,只有当用户使用的浏览器比IE8旧时,才有必要这样做。
<html>
  <head>
    ...
  </head>
  <body>
    ...

    <script type="text/javascript">
      /* Remember to wrap these in quotes if they need to be strings.
      You may also need to use the |safe filter for some data types
      to ensure django doesn't escape them (e.g. JSON) */
      var fax_number = {{ contract.request.customer.convert_fax_number }};
    </script>

    <!-- Import your JS file AFTER defining your variables -->
    <script src="src.js"></script>
</html>