ブートストラップ・モーダル・フォームをajaxコードで使用してデータベースの内容を更新しようとしていますが、データベースにフォームの入力が更新されません。フォームは完全に正常に動作しますが、私は内容がデータベースで更新されているのを見ません。なにが問題ですか ???次のコードがデータベースを更新しないのはなぜですか?
<div class="container">
<h1> {{ username }} </h1>
<h2>Modal Example</h2>
<!-- Trigger the modal with a button -->
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>
<!-- Modal -->
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<form id="new_user_form">
{% csrf_token %}
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<div class="form-group" >
<label for="usr">Username:</label>
<input type="text" name="username" class="form-control input-lg" id="username">
<label for="passwordd">Password:</label>
<input type="password" name="password" class="form-control input-sm" id="password">
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-default" id="submit">Submit</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</form>
<script type="text/javascript" src="/static/bootstrap 3/js/bootstrap.min.js"></script>
のAjaxコード:
<script>
$(document).on('submit','#new_user_form',function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "/testapp/registered/",
data: {
username: $('#username').val(),
password: $('#password').val(),
csrfmiddlewaretoken: $('input[name=csrfmiddlewaretoken]').val()
},
sucess: function(){
alert("Registeration successfully.")
}
error: function(jqXHR, textStatus, errorThrown)
{
alert(textStatus, errorThrown);
}
});
});
</script>
views.py:
from django.shortcuts import render
from testapp.models import User
def index(request):
template = 'index.html'
return render(request,template)
def create_user(request):
if request.method == 'POST':
User.objects.create(
username = request.POST['username'],
password = request.POST['password'],
)
User.save()
return render(request,'testapp/index.html',{'username':request.POST['username']})
私は全体のインターネットを検索し、何:(
htmlコードを持っていないよう助けてください
からtestapp \のurls.py:testappとの\のurls.pyで
from django.conf.urls import url
from .import views
urlpatterns = [
url(r'^$', views.index, name="Index"),
url(r'^registered/$', views.create_user, name="registered"),
]
'create_user'ビューでipdbを使ってデバッグをテストしましたか?あなたが 'request.POST'を呼び出すと何が得られますか? –
ipdbとは何ですか?私は私のメインプロジェクトのコピーを作成し、そのコピーがデータベースを更新したのではないかと推測しますが、メインプロジェクトはまだデータベースを更新していません。プロジェクトの両方を検査しました。エラー:https://postimg.org/image/tim44b9nl/ – Ahtisham
おそらく 'User.save()'が原因です。 'User'クラスにはsave属性がありません。ちょうどその行を取り除く。 'create'は既にオブジェクトを保存しています – karthikr