JavaScript
をDjango
に実行して、チェーンフォームを作成する方法を調べようとしています。しかし、最初に私は実行する方法を見つけたいJavaScript
。私は簡単なmain.js
ファイルを作成しました。このファイルはstatic
forderにあります。JavaScriptがDjangoで動作しない
main.js
へのパスをhtml
の頭に追加しました。そして、ページが読み込まれたときにスクリプトを実行する必要があります(私が前進できることを確実にするため)。
alert
を関数の先頭に置きましたので、js
が実行されているかどうかを確認できます。でもも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はPOST要求データにcsrfトークンを送信する必要があるため、おそらく失敗します。 –