Джанго | передача значений формы - PullRequest
0 голосов
/ 21 мая 2010

Я хочу создать процесс регистрации пользователя, который требует двух разных форм с одинаковыми данными, одна (1-я форма) предназначена для заполнения данных, а другая (2-я форма) предназначена для отображения заполненных данных в виде суммы (до сохранение данных), чтобы пользователь мог просмотреть, что он / она заполнил ... моя проблема в том, как передать данные 1-й формы во 2-й ... Я использовал базовый механизм манипуляции форм Django и передал значения полей формы для следующей формы, используя теги шаблона Django ..

if request.method == 'POST':
    form = Users(request.POST)
    if form.is_valid():
        cd = form.cleaned_data
        try:
            name = cd['fullName']
            email = cd['emailAdd']
            password1 = cd['password']
            password2 = cd['password2']
            phoneNumber = cd['phoneNumber']
            return render_to_response('signup2.html', {'name': name, 'email': email, 'password1': password1, 'password2': password2, 'phone': phone, 'pt': phoneType})
        except Exception, ex:
            return HttpResponse("Error %s" % str(ex))  

и со второго я только что отображал эти значения полей с помощью тегов, а также использовал скрытые поля для отправки формы со значениями, например:

<label for="">Email:</label> {{ email }} <input type="hidden" id="" name="email" class="width250" value="{{ email }}" readonly />

Это хорошо работает на первый взгляд, но реальная проблема заключается в том, что если кто-то просматривает источник html, он может просто получить пароль , даже хакеры могут легко через это пройти. Итак, как мне избежать этой проблемы ... и я не хочу использовать сессию Django, так как это всего лишь простой процесс регистрации и никаких других взаимодействий.

Спасибо.

Ответы [ 3 ]

1 голос
/ 21 мая 2010

Введите пароль в сеансе. Покажите «странное» значение по умолчанию в поле пароля и проверьте, изменилось ли оно.

0 голосов
/ 01 марта 2014

Вы можете сохранить пароль в сеансе пользователя и вообще не печатать его в форме. Если пользователь хочет изменить свой пароль впоследствии (что очень редко происходит в процессе регистрации, признайте это), вы можете добавить ссылку «Вернуться к шагу 1, чтобы изменить мой пароль».

TL; DR: По моему мнению, если пользователь подтвердил форму, он не изменит пароль на втором шаге, поэтому вам не нужно показывать поля для него.

0 голосов
/ 21 мая 2010

Я не уверен, почему вы не хотите использовать сеанс. Что касается пользователя, то он не увидит и не будет с ним взаимодействовать. Если у вас установлено промежуточное программное обеспечение сеанса, оно будет активным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...