Django allauth шаблоны

Перезаписываемые шаблоны 
allauth поставляется много шаблонов, которые можно просмотреть в каталоге allauth / templates

Например, представление, соответствующее account_login URL, использует шаблон account/login.html. Если вы создаете файл с этим именем в макете кода, он может переопределить файл, поставляемый с allauth.

Теги шаблона 
Доступны следующие библиотеки тегов шаблонов:

  • account: теги для работы с аккаунтами в целом
  • socialaccount: теги, ориентированные на социальные сети

Теги аккаунта 
Используйте user_display для отображения имени пользователя, не делая предположений о том, как пользователь представлен (например, отобразите имя пользователя или имя?):

{% load account %}

{% user_display user %}

Или, если вам нужно использовать в :{% blocktrans %}

{% load account %}

{% user_display user as user_display %}
{% blocktrans %}{{ user_display }} has logged in...{% endblocktrans %}

Затем переопределите ACCOUNT_USER_DISPLAY настройку при помощи вызываемого дисплея вашего конкретного проекта.

Теги социального аккаунта 
Используйте этот provider_login_urlтег для генерации URL-адресов входа для конкретного провайдера:

{% load socialaccount %}

<a href="{% provider_login_url "openid" openid="https://www.google.com/accounts/o8/id" next="/success/url/" %}">Google</a>
<a href="{% provider_login_url "twitter" %}">Twitter</a>

Здесь вы можете передать необязательный process параметр, который указывает, как обрабатывать вход в социальную сеть. Вы можете выбрать между login и connect:

<a href="{% provider_login_url "twitter" process="connect" %}">Connect a Twitter account</a>

Кроме того, вы можете передать action параметр со значением, reauthenticate чтобы указать, что вы хотите, чтобы у пользователя снова запрашивалась аутентификация, даже если он уже вошел в систему ранее. Пока это поддерживается только Facebook, Google и Twitter.

Для входа в систему на основе Javascript (например, при включении SDK Facebook JS) вам необходимо убедиться, что загружен необходимый Javascript. Следующий тег загружает все сценарии для включенных поставщиков:

{% providers_media_js %}

Для легкого доступа к социальным аккаунтам для пользователя используйте:

{% get_social_accounts user as accounts %}

Затем:

{{accounts.twitter}} -- a list of connected Twitter accounts
{{accounts.twitter.0}} -- the first Twitter account
{% if accounts %} -- if there is at least one social account

  Наконец, провайдеры социальной аутентификации, настроенные для текущего сайта, могут быть получены с помощью:

{% get_providers as socialaccount_providers %}

Который заполнит socialaccount_providers переменную в контексте шаблона списком настроенных провайдеров социальной аутентификации. Это заменяет контекстный процессор, используемый в версии 0.21 и ниже.

Далее : Добро пожаловать в django-allauth! : Декораторы

17 января 2019 г. 15:10 Теги - # django-allauth # django Категория - django-allauth Kiwi standing on oval584