Я пытаюсь выяснить, как запустить JavaScript
в Django
, чтобы создать прикованные формы. Но сначала я хочу узнать, как даже запустить JavaScript
. Я создал простой файл main.js
, который находится в static
forder.JavaScript не работает в Django
Я добавил путь в main.js
в начало html
. И сценарий должен запускаться при загрузке страницы (чтобы быть уверенным, что я могу сделать шаг вперед).
Я положил alert
в начале функции, чтобы я мог видеть, был ли запущен js
. Но я не вижу ничего alert
или js
в chrome inspect
.
Не могли бы вы, ребята, сказать мне, где проблема?
main.js
$(document).ready(function(){
alert("OK")
$.ajax({
url: "get-possible-levels/",
type: "POST",
data: {language: $('#id_language').val()},
})
})
шаблона:
{% extends 'base.html' %}
{% load static %}
{% block head %}
<script src="{% static "js/main.js" %}"></script>
{% endblock %}
{% block content %}
{% if user.is_authenticated %}
<form action="" method="post" enctype="multipart/form-data">{% csrf_token %}
{{ language_form }}
<button value="Update" type="submit">Submit</button>
</form>
{% endif %}
{% endblock %}
Вид:
@login_required
def create_order(request):
language_form = LanguageLevelForm(request.POST or None)
return render(request,'auth/jobs/create-job-test.html',context={'language_form':language_form})
EDIT: main.js
, кажется, выполнена, но это не alert
ничего. Я проверил inspect
(и я попытался поставить точку с запятой после alert('ok')
):
Просмотрите источник страницы в своем браузере. Вы можете увидеть скрипт src и щелкнуть его? – jonatron
Нет! Так что проблема с блочной головой! Спасибо, но все же ... теперь, main.js видна в инспектировании, но я не вижу никакого предупреждения ... –
Вам не хватает точки с запятой после вашего предупреждения. Кроме того, ajax, вероятно, завершится неудачно, поскольку вам нужно отправить токен csrf в данные запросов POST. –