/ / Шаблон реєстрації Allauth із звичайним і соціальним обліковим записом на одній сторінці - django, django-templates, django-authentication

Шаблон реєстрації Allauth із звичайним та соціальним обліковим записом на одній сторінці - django, django-templates, django-authentication

Я вважаю, що шаблони аллаутів трохи важкізрозуміти і не можу "по-справжньому зрозуміти, як я зможу створити шаблон, що дозволяє вибирати між соціальним авторизацією (FB у моєму випадку) та звичайним авторизацією (електронна пошта тощо), як, наприклад, на Stackoverflow.

В основному я хочу використовувати {{ form.as_p }} за допомогою подання для реєстрації.

Відповіді:

1 для відповіді № 1

Ви можете перевизначити це шаблон (account/login.html)

Для звичайної форми входу ви можете отримати такий фрагмент, витягнутий із згаданого шаблону:

{% load i18n %}
<form class="login" method="POST" action="{% url "account_login" %}">
{% csrf_token %}
{{ form.as_p }}
{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
{% endif %}
<a class="button secondaryAction" href="{% url "account_reset_password" %}">{% trans "Forgot Password?" %}</a>
<button class="primaryAction" type="submit">{% trans "Sign In" %}</button>
</form>

А для соціальної автентифікації facebook ви можете мати наступне на основі цей шаблон:

{% load socialaccount %}
<a title="Facebook" class="socialaccount_provider facebook"
href="{% provider_login_url facebook process="login" %}">Facebook</a>

Обидва згадані шаблони надаються django-allauth, але їх можна замінити, додавши a templates папку до вашої програми django та створення тієї самої структури каталогів, у цьому випадку:

myapp
|_templates
|_account
|_login.html

і розміщення коду login.html. Те саме стосується будь-якого іншого шаблону, який ви хочете замінити. Ось тут є шаблонами django-allauth.


0 для відповіді № 2

Вам слід створити форму для користувача / пароль для "звичайної автентифікації", а потім додати посилання на соціальні сторінки автентифікації.

<form>
user... pass...
</form>
<a href="">Facebook</a>