Использование декоратора @login_required

Я впервые пишу собственное представление с аутентификацией пользователя. Я застрял на несколько часов, потому что я действительно понятия не имею, на что я должен обратить внимание или о чем я должен знать, используя декоратор @login_required. Вот мой views.py:

from django.shortcuts import render
from programm.models import *
from django.contrib.auth.decorators import login_required

def index(request):
        return render(request, 'index.html')

@login_required
def liste(request):
        return render(request, 'liste.html', {'lObj': learningObjective.objects.all()})

Это мое приложение urls.py:

from django.conf.urls import patterns, url
from programm import views
from django.conf import settings

urlpatterns = patterns('',
        url(r'^$', views.index, name = 'index'),
        url(r'^liste.html$', views.liste, name = 'liste'),
)

Это шаблон login.html:

{% block body %}
 <header>
  <h1>Login Page</h1>
 </header>

  <section>
    {% if form.errors %}
      <p>Your username and password didn't match, please try again.</p>
    {% endif %}

    <form method="post" action=".">
      {% csrf_token %}
      <p>
        <label for="id_username">Username:</label>
        {{ form.username }}
      </p>
      <p>
        <label for="id_password">Password:</label>
        {{ form.password }}
      </p>
      {% if next %}
        <input type="hidden" name="next" value="{{ next }}" />
      {% else %}
        <input type="hidden" name="next" value="/programm/liste.html" />
      {% endif %}
      <input type="submit" value="login" />
    </form>   </section> {% endblock %}
  </section>
{% endblock %}

Не могли бы вы, ребята, сказать мне, что я должен знать и что я должен добавить? Я не нашел руководство, которое я правильно понял :/ Сообщение об ошибке, которое я получаю на данный момент, выглядит следующим образом:

TemplateDoesNotExist at /login/

registration/login.html

Request Method:     GET
Request URL:    http://10.0.3.107:8000/login/?next=/programm/liste.html
Django Version:     1.6.1
Exception Type:     TemplateDoesNotExist
Exception Value:    

registration/login.html

Exception Location:     /usr/local/lib/python2.7/dist-packages/django/template/loader.py in find_template, line 131
Python Executable:  /usr/bin/python
Python Version:     2.7.3
Python Path:    

['/home/ubuntu/NachweisProj/ANachweis',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-linux2',
 '/usr/lib/python2.7/lib-tk',
 '/usr/lib/python2.7/lib-old',
 '/usr/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages']

Server time:    Wed, 19 Feb 2014 14:08:12 +0000

person BoJack Horseman    schedule 19.02.2014    source источник
comment
Я не вижу никакого кода для фактического процесса входа в систему.   -  person Aldarund    schedule 19.02.2014
comment
Я думал, что с помощью декоратора @login_required я вызываю пользовательское представление входа в систему django Oo   -  person BoJack Horseman    schedule 19.02.2014


Ответы (1)


Вы не показали нам макет ваших шаблонов — представление входа предполагает, что шаблон «login.html» находится в папке «registration».

person Alasdair    schedule 19.02.2014