Ваш шаблон уже защищен {% csrf_token %}
, вам не нужен декоратор:
Кроме того, вместо использования render_to_response, вы можете использовать render
из django.shortcuts
Я немного уменьшу ваши коды, лучше использовать
from django.contrib import messages
def user_login(request):
if request.POST:
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username, password=password)
if user:
if user.is_active:
login(request, user)
return render(request,'app/index.html',{})
# the else statement
return HttpResponse("You're account is disabled.")
# the else statement
messages.add_message(request,messages.WARNING,'Credentials invalid')
return render(request,'app/login.html', {})
в шаблонах извлекает сообщение вот так:
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}