Я хочу создать свою собственную страницу входа, используя адрес электронной почты и пароль в django 1.7. Когда я заполняю коробку и я нажимаю кнопку «Войти» на страницу входа.Не работает пользовательская страница входа в django 1.7
Мое мнение:
def get_user_by_email(email):
try:
return User.objects.get(email=email)
except User.DoesNotExist:
return None
def login_by_email(request):
email = request.POST.get('email')
password = request.POST.get('password')
username = get_user_by_email(email)
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active():
login(request, email)
return HttpResponseRedirect(reverse("myapp:dashboard"))
return render_to_response('myapp/login.html', context_instance=RequestContext(request))
Мой URL:
url(r'^login/$', views.login_by_email, name='login'),
Мой шаблон login.html
{% block content %}
<form class="form-horizontal" name="LoginForm" action="{% url 'myapp:login' %}" method="post">
{% csrf_token %}
<div class="control-group">
<label class="control-label" for="email">Email</label>
<div class="controls">
<input type="text" id="email" value="{{email}}" placeholder="Email">
</div>
</div>
<div class="control-group">
<label class="control-label" for="password">Password</label>
<div class="controls">
<input type="password" name="password" id="password" placeholder="Password">
</div>
</div>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn">Login</button>
</div>
</div>
</form>
{% endblock %}
Это не работает. – mark
Объясните, что не работает, так что я могу помочь вам в дальнейшем – Alvaro
Этот код дают одинаковые результаты: определение функции login_by_email (запрос): электронная почта = request.POST.get («адрес электронной почты», «») пароль = запрос. POST.get ('пароль', '') user_instance = get_user_by_email (электронная почта) если user_instance: имя пользователя = user_instance.username пользователя = аутентификации (имя пользователя = имя пользователя, пароль = пароль) , если пользователь не None: если user.is_active(): login (request, user) return HttpResponseRedirect (reverse ('freedays: dashboard')) return render_to_response ('freed ays/login.html ', context_instance = RequestContext (запрос)) ' – mark