Джанго создает объект из POST - PullRequest
1 голос
/ 29 октября 2010

У меня вопрос по поводу просмотров Djanog

вот пример кода

def example register ( request ) :
if request.method == ’POST ’ :
username = request.POST.get ( ’ username ’ )
password = request.POST.get ( ’ password ’ )
email = request.POST.get (’email’)
user = User.objects .create_user ( username
, email
, password )
user . save ()
return HttpResponseRedirect (
’/ example /login / ’)

В приведенном выше примере мы принимаем значения одно за другим, т.е. имя пользователя, пароль и т. Д. Если у меня много таких полей, то как я могу сделать это в одной строке, я подумал использовать dict, но не могу найти путь. Любая помощь приветствуется. Спасибо.

Ответы [ 2 ]

5 голосов
/ 29 октября 2010

вы должны использовать формы [1] и модели-формы [2] для сбора таких данных из запроса.

[1] http://docs.djangoproject.com/en/dev/topics/forms/

[2] http://docs.djangoproject.com/en/dev/topics/forms/modelforms/

0 голосов
/ 29 октября 2010

Зачем тебе вообще так делать?

from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth import authenticate, login
from django.contrib.auth.models import User
and then handle it like that:
form = UserCreationForm(request.POST)
if form.is_valid():
    username = form.cleaned_data['username']
    password = form.cleaned_data['password1']
    email = form.cleaned_data['email']
    newuser = User.objects.create_user(username, email, password)
    user = authenticate(username=username, password=password)
    login (request, user)
    return HttpResponseRedirect('/some/page/which/is/not/logginpage')#cause user is already logged in

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

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