1
好吧,我一直在試圖弄清楚如何使用窗體編輯數據庫中的對象,該窗體具有要更新的對象的實例。使用窗體和AJAX編輯數據庫中的對象
我希望能夠從同一頁面編輯多個對象,但每個對象都有自己的形式。這就是爲什麼我想使用Ajax來執行請求並刷新頁面而不刷新。
我似乎不能更新模板特別的形式?
這是我的代碼。
查看
@login_required
def update(request):
if request.user.id:
uid = request.user.id
user_Books = Books.objects.filter(user_upload_id = uid) #Gets the users books
User = UserProfile.objects.get(pk = uid)
if request.is_ajax():
Book = user_Books.get(pk = request.POST.get('id')) #querys for the specifc book form ajax id value
form = Book_Submit(instance = Book)
return render(request, 'Forms/update.html', {'user_Books'user_Books,'form':form }, context_instance=RequestContext(request))
return render(request, 'Forms/update.html', {'user_Books':user_Books, },
context_instance=RequestContext(request))
jQuery的
$('.Book_list').append(function(){
$('#edit', this).click(function(){
var a = $(this).parent().find("p").text()
$.ajax({
type: "POST",
url: "",
data: {"id":a},
success: function(){
$('form').load('update.html')
},
headers: {
'X-CSRFToken': csrftoken
}
});
});
});
的Html
<div class="container">
{% for bk in user_Books %}
<div class="Book">
<h2 id="title">{{ bk.title }}</h2>
<p>{{ bk.id }}</p>
<input id="edit" type="button" value="Edit"></input>
<div id="form">
<form>
{{ form.as_p }}
</form>
</div>
</div>
{% endfor %}
</div>