Хостинг Django от «Джино»
Table of contents

Установка начальных значений

В качестве усовершенствования формы, добавим начальное значение для поля subject: I love your site! (Небольшое внушение не повредит.) Для этого следует воспользоваться аргументом initial при создании экземпляра формы:

def contact(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            send_mail(
                cd['subject'],
                cd['message'],
                cd.get('email', 'noreply@example.com'),
                ['siteowner@example.com'],
            )
            return HttpResponseRedirect('/contact/thanks/')
    else:
        form = ContactForm(
            initial={'subject': 'I love your site!'}
        )
    return render_to_response('contact_form.html', {'form': form})

Теперь поле subject будет отображаться заполненным.

Следует отметить, что существует разница между передачей начальных данных и передачей данных, которые привязаны к форме. Разница заключается в том, что если просто передаёте начальные данные, то форма остаётся незаполненной, что она не будет содержать сообщений об ошибках[10].



[10] Авторы имеют в виду, что если при возникновении ошибки во время проверки данных и вы возвратите пользователю форму, передав данные в форму через initial, то никаких сообщений о возникших ошибках не сохранится. Примечание переводчика.

alerion 1 month, 4 weeks ago
Answer Link

reply to Nelly_lucky
дайте возможность удалять сообщения)

Это спорный функционал. Можно будет ломать "ветку" обсуждения или спора

Nelly_lucky 2 months ago
Answer Link

дайте возможность удалять сообщения)


Ищем Python программистов

Found misprint?
Select it with the mouse and hit Enter
Ctrl-Enter
Processed:
33 1 199 25


The full repository of DjangoBook translation you can get on GitHub.
We appreciate your patches!

We are glad to hear your questions, comments or suggestions!
(Open in new tab)

Users number: 601

Русская группа

на поддержку перевода
Яндекс Яндекс.Деньги Хочу такую же кнопку
Ускорить процесс перевода!
ЯМ:41001223475816


© 2008-2012 Ruslan Popov @ gmail.com Powered by Django 1.2.5