Django allauth socialaccount注册页邮箱字段的模板变量是什么?
Django Allauth 社交注册模板中预填充邮箱的变量
- 正确的模板变量是
{{ form.email.value }}
原因说明
allauth 在处理社交账号注册流程时,会自动将从第三方平台获取到的邮箱值填充到注册表单的 email 字段中。因此不需要从 socialaccount 或未创建完成的用户对象中取值,直接访问表单字段的 value 属性即可拿到预填充的邮箱地址。
自定义输入框示例
替换原有的 {{ form.as_p }} 后,你可以这样写自定义邮箱输入框:
<div class="form-group"> <input type="email" name="email" id="id_email" value="{{ form.email.value|default:'' }}" placeholder="请输入邮箱地址" required> </div>
为什么之前的尝试无效
{{ email }}:模板上下文并未传入这个单独的变量,所以无法获取值socialaccount.get_social_account().user.get_email():此时社交账号还未与本地用户完成绑定,user对象尚未创建,自然无法通过该方式获取邮箱
内容的提问来源于stack exchange,提问作者Andras Vincze-Nagy
相关产品推荐
相关产品推荐

