为什么可以';我不能在django站点的Javascript中使用Jinja吗?
因此,对于我们这些使用Python和Django框架开发网站的人来说,有一个叫做jinja的很棒的工具,可以用作模板引擎。例如: 而不是像这样硬编码导入:为什么可以';我不能在django站点的Javascript中使用Jinja吗?,javascript,python,django,frontend,jinja2,Javascript,Python,Django,Frontend,Jinja2,因此,对于我们这些使用Python和Django框架开发网站的人来说,有一个叫做jinja的很棒的工具,可以用作模板引擎。例如: 而不是像这样硬编码导入: <script src="assets/js/onebutton.js"></script> 我们可以这样做: <script src="{% static 'assets/js/onebutton.js' %}"></script> 在这种情况下,它会自动搜索名为static的文件
<script src="assets/js/onebutton.js"></script>
我们可以这样做:
<script src="{% static 'assets/js/onebutton.js' %}"></script>
在这种情况下,它会自动搜索名为static的文件夹,并进入其中查找所需的代码
但为什么不能在Javascript中使用jinja模板呢
例如:
homepage.html
另一个例子
点击我
whatever.js
$(函数()
{
$('#clickme')。单击(函数(){
$.ajax({
标题:{'X-CSRFToken':getCookie('CSRFToken')},
类型:“POST”,
url:“{%url”func”%}”//
<script src='whatever.js'></script>
<p>Another example</p>
<button id="clickme"> click me </button>
$(function()
{
$('#clickme').click(function(){
$.ajax({
headers : {'X-CSRFToken': getCookie('csrftoken')},
type: "POST",
url: '{% url "func" %}', //<--Problem arise here
datatype:"json",
data: {},
success: function(data){
var new_template = '<h1> %firstmsg% </h1>';
var new_frontend = new_template.replace('%firstmsg%',data.message);
console.log(new_frontend);
document.getElementById('wor').innerHTML+=new_frontend;
}
});
}
}
<script src="{% static 'assets/js/onebutton.js' %}"></script>