0
おはよう! 私は許します許して、私はプログラミングでゼロです。しかし、私は学びたい。ページを更新することなく、POSTメソッドを使用してデータを転送する必要があります。 djangoを通して、javascriptとviews.pyはどのように見えるのですか? "ボタン" にページを更新せずにサーバーからデータを受信
"送信" から "Войти" ボタンのHTML形式のページ最初の変化型で<form class="form-horizontal" role="form" method="post" id="lol">
<div class="form-group">
<label for="" class="col-sm-2 control-label">ФИО</label>
<div class="col-sm-4">
<input name="firstname" class="form-control" placeholder="ФИО">
</div>
</div>
<div class="form-group">
<label for="" class="col-sm-2 control-label">Шифр Группы</label>
<div class="col-sm-4">
<input name="Code" class="form-control" placeholder="Шифр Группы">
</div>
</div>
<div class="form-group">
<label for="" class="col-sm-2 control-label">Пол</label>
<div class="col-sm-4">
<input name="Pol" class="form-control" placeholder="М или Ж">
</div> </div>
<div class="form-group">
<label for="" class="col-sm-2 control-label">Семейное положение</label>
<div class="col-sm-4">
<input name="Floor" class="form-control" placeholder="0 или 1">
</div>
</div>
<div class="form-group">
<label for="" class="col-sm-2 control-label">Номер комнаты</label>
<div class="col-sm-4">
<input name="Room" class="form-control" placeholder="Номер комнаты">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Войти</button>
</div>
</div>
</form>
<div class="examples">
<script language="javascript" type="text/javascript">
</script>
<div class="results">Ждем ответа</div>
@csrf_exempt
def polls(request, form=None):
if request.method == 'POST' and form.is_valid():
pass
else:
return render(request, 'base.html')
ajax呼び出しを使用します。ボタン(タイプ=ボタン)をクリックし、データを取得し、バックエンドルートにポストし、実行する必要のあるアクション(例えばdbに挿入)を実行し、200または400を返します。成功した場合は、返されたエラーに応じて別の一連のアクションを実行します。 タイプ=ボタンを使用すると、クリックしてフォームを送信しないでください。そうでない場合はsubmitを使用できますが、preventDefaultを使用できます。 私はdjangoでの経験がないので、私が間違っている場合のための例を書くつもりはないが、私が与えたフローを外して、あなたの検索を絞り込むのを助けるべきである – elanor
また、適切にコードします。 HTMLはインデントベースの言語ではありませんが、欠落している終了タグをすぐに識別できるので、HTMLの適切なインデントに従うことは非常に便利です。 – elanor
ようこそ。時間をかけて[ask]とそれに含まれるリンクを読んでください。 – wwii