2013-07-01 2 views
1

Я хочу, чтобы создать форму входа в Django, и я использовал этот метод:Как создать свою собственную форму входа Django

def Login(request): 
    if request.method == 'POST': 
     form = AuthenticationForm(request.POST) 
     if form.is_valid: 
      username = request.POST['username'] 
      password = request.POST['password'] 

      access = authenticate(username=username, password=password) 
      if access is not None: 
       if access.is_active: 
        login(request,access) 
        return HttpResponseRedirect('/') 
       else: 
        return render_to_response('noactive.html', context_instance=RequestContext(request)) 
      else: 
       HttpResponseRedirect('/') 
    else: 
     form = AuthenticationForm() 
    return render_to_response('login.html', {'form':form}, context_instance=RequestContext(request)) 

Есть ли способ, чтобы создать форму с формой, созданной в forms.py и а не с django.contrib.auth.forms.AuthenticationForm, который предоставляет вам Django?

+0

класс MyForm (AuthenticationForm)? –

+0

Почему вы хотите это сделать? Форма Django Contrib делает намного больше – karthikr

+0

Но если я хочу, чтобы мой Пользователь получил больше информации, например «Дата рождения» или «Тип крови»? Что-то, что django.contrib.auth.forms не дает вам? –

ответ

1

Итак, я думаю, вы вводите в заблуждение две разные вещи: одна - это то, что вы хотите задать пользователю. Второй - это то, что вы хотите сохранить в базе данных.

Первый выпуск осуществляется в views и forms, в то время как последняя реализуется в models, в частности User profiles.

Обычно форма связана с действием, которое вы хотите выполнить в своей базе данных. Либо вставьте новый контент, либо измените существующий контент (который включает логин пользователя).

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

Надеюсь, это поможет.

Смежные вопросы