- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在我的网络应用程序中使用 django-allauth
进行帐户管理。
我有用户模型和用户配置文件模型。
当用户注册时,它会创建一个用户(用户模型中的一个实例)。
UserProfile 与模型 User 相关联。
Allauth默认在用户注册时发送一封邮件,用户注册时会发送一封确认邮件。
现在我只想在他填写 UserProfile 时发送该电子邮件。
我想在这里使用信号。当用户填写 UserProfile 时,它将调用 post_save 信号,它调用另一个函数 user_signed_up_
但我在将请求和用户参数传递给该函数时遇到问题。
这是我的模型.py
from django.db import models
from django.contrib.auth.models import User
from allauth.account.signals import user_signed_up
from allauth.account.utils import send_email_confirmation
from django.dispatch import receiver
import datetime
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
are_u_intrested = models.BooleanField(default=False)
#this signal will be called when user signs up.allauth will send this signal.
@receiver(user_signed_up, dispatch_uid="some.unique.string.id.for.allauth.user_signed_up")
def user_signed_up_(request, user, **kwargs):
send_email_confirmation(request, user, signup=True)
#this allauth util method, which sends confirmation email to user.
models.signals.post_save.connect(user_signed_up_, sender=UserProfile, dispatch_uid="update_stock_count")
#If user fills this userProfile , then I only send confirmation mail.
#If UserProfile model instace saved , then it send post_save signal.
最佳答案
你不需要在这里使用allauth的信号,你需要使用Django的模型信号。像这样的东西:
from django.db.models.signals import post_save
from django.dispatch import receiver
@receiver(post_save, sender=UserProfile)
def userprofile_filled_out(sender, instance, created, raw, **kwargs):
# Don't want to send it on creation or raw most likely
if created or raw:
return
# Test for existence of fields we want to be populated before
# sending the email
if instance.field_we_want_populated:
send_mail(...)
希望对您有所帮助!
关于python - 在使用 djanago-allauth 发出 post_save 信号后,如何发送电子邮件确认邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27164129/
我正在使用带有 allauth 的 django 1.6。 我刚刚启用了电子邮件验证功能,正在寻找识别身份的最佳方法 用户是否拥有经过验证的电子邮件 . 我遇到并想问的一件有趣的事情:我注意到一个用户
我想对 django-allauth 中的字段进行一些额外的验证。例如,我想阻止使用免费电子邮件地址。所以我想在注册时运行这个方法 def clean_email(self): email_d
我一直在尝试寻找如何使用 django-allauth 向已经注册并登录的用户添加新的社交帐户。到目前为止,我找到了this question , 和 this other question与我需要的
我想扩展 django-allauth 以包含其他第三方 OAuth 提供商(例如、SurveyMonkey、Qualtrics 等)。我还没有找到关于如何扩展 django-allauth 的好教程
我已经创建了一个Django Web应用程序,我想使用allauth为GitHub创建一个SSO。。我已经设置好了,它运行得很好。但现在,所有GitHub用户都可以登录我的网络应用程序。我想将其仅限于
如何将 Google One Tap 登录体验与 django-allauth 集成? django-allauth 已集成并且非常适合简单的用户名/密码登录。 我有 Google OneTap 更好
我已经设置了 allauth 并注意到它暴露了 /accounts/password/change/这是更改当前登录用户密码的可爱形式。它还暴露了/accounts/email/这非常适合处理与将电子
在多个站点上使用时,是否可以将Django allauth的身份验证方法设置为“email”? 我的目标是允许电子邮件地址为bob@example.com的用户在site1.com上创建一个帐户,并在
我目前正在尝试实现 SendGrid,以便为注册的社交帐户用户发送确认电子邮件,我收到以下错误 SMTPDataError at /accounts/facebook/login/callback/
我正在使用 django-axes 将登录尝试限制在管理后端。但是,对于通过 django-allauth 登录的前端客户端,我找不到任何机制来检测和防止登录失败。 使用 allauth 防止多次登录
我正在使用此代码(在 forms.py 中)作为我的 allauth 自定义注册表单: class RegistrationForm(UserCreationForm): birth_date
我正在使用 django allauth 身份验证系统,我使用带有“next”参数的社交注册,如下所示: 其中 next 是一个动态变量。 但是,我想为该过程注入(inject)第二个屏幕,询问电话
django-allauth docs声称支持让用户与社交网络断开连接的工作流程,他们甚至涵盖了当用户成功断开帐户时发出的信号。 但是文档没有说明如何启动断开连接。当我列出 allauth 项目中的所
我是Django的新手,并且已经安装django-allauth。 我遵循了文档,但是在安装后的步骤中遇到了麻烦: Add a Site for your domain, matching setti
我找到了相反场景的答案: django-allauth: Linking multiple social accounts to a single user 即。本地用户可以在其中连接社交帐户。通过社
我一直按照说明为我的网站设置 django-allauth 软件包,一切正常,直到注册后发送确认电子邮件为止。一切似乎都工作正常,因为我注册了并且有关新帐户的信息位于数据库中(user 表和 acco
我的系统中有两种类型的用户,我想在注册时分配适当的组。引用How to customize user profile when using django-allauth ,我想我可以覆盖注册表单并执行
我尝试关注最新的http://django-allauth.readthedocs.org/en/latest/#installation urls.py 文件如下所示: urlpatterns =
我正在利用 django-allauth 为我的属性(property)管理应用程序提供 Google 身份验证。这是我正在寻找的注册工作流程: A new manager goes to a reg
我主要使用 django-allauth 作为为管理后端创建用户帐户的方式。我希望发生的是: 1) 当用户完成注册过程时,发送验证电子邮件(到目前为止我已经这样做了)并将用户设置为非事件、员工,并通过
我是一名优秀的程序员,十分优秀!