我發現allauth模板有點難以理解,不能真正弄清楚我將如何創建一個模板,允許選擇社交auth(FB在我的情況下)和正常的身份驗證(電子郵件等),就像在Stackoverflow上的例子。Allauth註冊模板與一個頁面上的正常和社交帳戶
基本上我想使用{{ form.as_p }}
使用註冊視圖。
我發現allauth模板有點難以理解,不能真正弄清楚我將如何創建一個模板,允許選擇社交auth(FB在我的情況下)和正常的身份驗證(電子郵件等),就像在Stackoverflow上的例子。Allauth註冊模板與一個頁面上的正常和社交帳戶
基本上我想使用{{ form.as_p }}
使用註冊視圖。
您應該爲「正常驗證」創建用戶/密碼的表單,然後爲社交驗證頁添加鏈接。
<form>
user... pass...
</form>
<a href="">Facebook</a>
您可以覆蓋this模板(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的社交認證,你可以有以下的基礎上,this template:
{% load socialaccount %}
<a title="Facebook" class="socialaccount_provider facebook"
href="{% provider_login_url facebook process='login' %}">Facebook</a>
這兩個提到的模板都是由django-allauth提供的,但可以通過在您的django應用中添加一個templates
文件夾並創建相同的目錄結構來替代,在這種情況下:
myapp
|_templates
|_account
|_login.html
並將您的代碼放入login.html
。這同樣適用於您想要覆蓋的任何其他模板。 Here是django-allauth
模板。