Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 22, 2008 12:37:31

Landing
От:
Зарегистрирован: 2008-07-01
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Логин, как правильно?

Изучаю джанго, хочу узнать, правильно делаю логин, проверку пользователя на существование?

Модель:

class User(models.Model):
username = models.CharField(maxlength=30)
password = models.CharField(maxlength=300)
mail = models.EmailField()
datereg = models.DateField()
# Avatar

def __str__(self):
return "%s %s %s %s" % (self.username, self.password, self.mail, self.datereg)

class Admin:
list_display = ('username', 'password', 'mail', 'datereg')
Форма:

class Login(newforms.Form):
username = newforms.CharField(label=u'Имя')
password = newforms.CharField(label=u'Пароль', max_length=30)
Вывод:

def Index(request):
if request.method == 'POST':
form = Login(request.POST)

if form.is_valid():
usr = form.clean_data['username']
pwd = form.clean_data['password']
userbd = User.objects.filter(username=usr, password=pwd)

if userbd is not None:
user = auth.authenticate(username=usr, password=pwd)

if user is not None and user.is_active:
auth.login(request, user)
return HttpResponseRedirect('/%s/' % (usr))
else:
# пользователь не существует
pass
else:
form = Login()
return render_to_response('index.html', locals())



Офлайн

#2 Авг. 22, 2008 21:49:11

ZioN
От:
Зарегистрирован: 2007-07-12
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Логин, как правильно?

Это где вы такие примеры нашли? О_О

модель User вроде уже есть с джангой в contrib`е (from django.contrib.auth.models import User) соответственно, если нужно прикрутить к др. проекту авторизацию, то есть backend

Есть перевод djangobook там хорошо описано это. (http://cargo.caml.ru/djangobook)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version