페이지에 표시되는 매우 긴 formset이 있습니다. 그것은 현재과 같이 저장됩니다jquery 자동 저장과 함께 django보기를 사용하는 방법?
if request.method == 'POST':
survey_formset = SurveyFormset(request.POST)
if survey_formset.is_valid():
ss = SurveySet()
ss.user=request.user
ss.save()
for form in survey_formset.forms:
saved = form.save(commit=False)
saved.surveyset = ss
saved.save()
return HttpResponseRedirect('/')
어떻게 그렇게 전체 surveyset 백그라운드에서 사용자가 다른 입력 채 웁니다 때마다 저장됩니다 만들 수 있습니까?
지금까지 내가 지금까지 가지고있는 것. 콜백을 사용하여 AJAX를 통해 서버에 물건을 보내려면 어떻게해야합니까?
<form action="" method="POST" id="surveyset">{% csrf_token %}
{{ survey_formset.management_form|crispy }}
<!-- A lot of inputs! -->
{% for form in survey_formset.forms %}
<hr>
<div id="survey-{{ forloop.counter }}" class='content'>
{% crispy form %}
</div>
{% endfor %}
<input id='save_set' type="submit" value="Submit" class='button' />
</form>
<!-- Time to autosave! -->
<script type="text/javascript" src="{% static "js/jquery.autosave.js" %}"></script>
<script>
$(document).ready(function() {
$("form").autosave({
callbacks: {
trigger: ["change", function() {
var self = this;
$("#save_set").click(function() {
self.save();
});
}],
save: {
method: "ajax",
// What do I tell the django view?
// How do I silently save in the background?
options: {
success: function() {
console.log("saved!");
}
}
}
}
});
});
</script>
나는이 사람의 코드를 사용하고 있습니다 :
https://github.com/nervetattoo/jquery-autosave
아마도 양식의 하위 집합을 저장하는 것이 좋습니다. 자세한 내용은 https://docs.djangoproject.com/ko/1에서 확인하십시오. – Anup
여기에 몇 줄을 추가하고 싶습니다 :'save : { method : "ajax", 옵션 : { success : function() { console .log ("저장되었습니다!"); } } }'내 모든 POST 데이터를 백그라운드에서 볼 수 있도록 처리합니다. 그러나 나는 단지 하나의 새로운 서베이 세트 만 만들어지기를 원합니다. – broinjc
사용자가 입력 한 모든 데이터를 저장 하시겠습니까? 그렇다면 저장합니다. comimit = False를 사용하여 부분 모델을 저장합니다. – Anup