@awd10
джанго ученик

Как в джанго лучше решить задачу с сохранением полей ajax формы?

Я хочу сделать сохранение каждого поля формы в отдельности. В шаблоне я ловлю активный инпут, ставлю таймаут и передаю данные в 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)
  • Вопрос задан
  • 370 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы