Я использую main.js
файл для java script logi c в проекте Django. Когда я пишу этот logi c внутри тега сценария в base.html
, он работает, как ожидалось. Но если я отделю logi c в .js
файле, я получу Uncaught SyntaxError: Unexpected token '%
, указав url : {% url 'like-post' %},
в консоли браузера.
base. html:
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="{% static 'blog/main.css' %}">
<script
src="https://code.jquery.com/jquery-3.5.1.js"
integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc="
crossorigin="anonymous"></script>
<script src="{% static 'blog/main.js' %}" type="text/javascript"></script>
<title>Blog</title>
</head>
main. js:
$(document).ready(function(event){
$(document).on('click', '#like', function(event){
event.preventDefault();
var pk = $(this).attr('value');
$.ajax({
type : 'POST',
url : {% url 'like-post' %},
data : {'id' : pk, 'csrfmiddlewaretoken': '{{ csrf_token }}'},
dataType : 'json',
success : function(response){
$(".like-section").load(" .like-section")
},
error : function(rs, e){
console.log(rs.responseText);
},
});
});
});
У меня есть несколько других js logi c в main.js
файле, он работает должным образом, если я закомментирую вышеуказанную часть в main.js
файле .