跳转到主要内容

为Django模型实例提供简单的电子邮件确认。

项目描述

djeveric

使用Django Rest Framework为Django模型实例提供简单的电子邮件确认。

使用方法

创建模型

创建一个继承自ConfirmableModelMixin并带有ConfirmationField的模型类,并像这样引用一个ConfirmationEmail

from django.conf import settings
from django.db import models

from djeveric.emails import ConfirmationEmail
from djeveric.fields import ConfirmationField
from djeveric.models import ConfirmableModelMixin

class MyModelConfirmationEmail(ConfirmationEmail):
    subject = "Please confirm"
    
    def get_body(self, context):
        return f"Use this link to confirm: http://my-frontend/confirm/{self.token}"
    
    def get_recipient(self) -> str:
        return self.instance.owner.email

class MyModel(ConfirmableModelMixin, models.Model):
    owner = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    is_confirmed = ConfirmationField(email_class=MyModelConfirmationEmail)

当模型的未确认实例被保存时,djeveric会向指定的地址发送确认邮件。

创建视图集

要实际确认视图集,您的后端需要一个使用ConfirmModelMixin的视图集

from rest_framework import viewsets

from djeveric.views import ConfirmModelMixin


class MyModelViewSet(ConfirmModelMixin, viewsets.GenericViewSet):
    queryset = MyModel.objects

POST /api/my-models/{pk}/confirm/中,使用{"token": "THE TOKEN"}作为数据,模型实例将被确认。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源分发

djeveric-2.2.0.tar.gz (4.4 kB 查看哈希值)

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面