Просмотры доступа к Django allauth

Я пытаюсь использовать django-allauth и предоставлять ссылки на представления allauth из моих пользовательских шаблонов. Вот соответствующий код шаблона:

{% if request.user.is_authenticated %}
      <a href="{% url 'allauth.account.views.logout' %}">Sign Out</a>
{% else %}
      <a href="#user-form" class="popup-with-form">Login</a> <a href="#user-form2" class="popup-with-form2">Register</a> 
{% endif %}

Это проверяет, аутентифицирован ли пользователь, если это так, предоставляет ссылку для выхода из системы. Я использовал этот точный код в прошлых проектах без проблем. В этих проектах я использовал django-allauth==0.12.0. Я думал, что моя проблема может заключаться в том, что я использовал самую последнюю версию allauth для этого проекта (0.16.x), но даже когда я возвращаюсь к 0.12.0, я все равно получаю ту же ошибку. Спасибо за вашу помощь.

РЕДАКТИРОВАТЬ: ошибка, которую я получаю,

NoReverseMatch at /app/

Reverse for 'allauth.account.views.logout' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

person apardes    schedule 10.06.2014    source источник
comment
Что за ошибка? и версия Джанго?   -  person Aamir Adnan    schedule 10.06.2014
comment
Извините за это, я включил свою ошибку в свой вопрос.   -  person apardes    schedule 10.06.2014


Ответы (1)


Просто добавьте следующую строку вверху вашего шаблона:

{% load url from future %}

Имя URL-адреса, заключенное в кавычки, несовместимо с Django ‹ 1.5. Для совместимости загрузите указанную выше библиотеку в шаблон, и она должна работать нормально. См. примечание здесь.

PS вы можете просто использовать имя URL, см. здесь для каждого URL-адреса определено имя, которое можно использовать в шаблонах:

{% url 'account_logout' %}
person Aamir Adnan    schedule 10.06.2014