Я хочу сделать сохранение каждого поля формы в отдельности. В шаблоне я ловлю активный инпут, ставлю таймаут и передаю данные в ajax, который обращается к views.py.
Проблема в моем не знание, как лучше сохранять в функции (views.py) полученные значения из запроса, если нужно сохранять поле в отдельности, а не форму целиком.
Самые навязчивый вараинт, это прописать для каждого поля:
user = request.POST["user"]
...итд
а есть какое нибудь более универсальное решение. В форме может быть и 20 и 30 полей..
-------------------------------
settings.html
<script>
$(':input').on('input', function () {
$.ajax({
url: '/settings/',
type: 'get',
data: $(this).serialize(),
success: function (data) {
console.log('ssss')
},
error: function (data) {
console.log('eeee')
}
});
})
</script>
view.py
def settings(request):
if request.method == 'GET' and request.is_ajax():
profile_form = ProfileForm(request.GET, instance=request.user.profile)
if profile_form.is_valid():
profile_form.save()
return ''
else:
return 'none'
else:
csrf_token = csrf.get_token(request)
profile_form = ProfileForm(instance=request.user.profile)
context = {
'profile_form': profile_form,
'csrf_token': csrf_token
}
return render(request, 'settings.html', context)