为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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f3ea75655ec494a530c33c9050c57d212bcf2ac37d94ef29e8de22d0fb520829 |
|
MD5 | b51fcf4865dd6da55f884b0d10987379 |
|
BLAKE2b-256 | 25316cf44831ed61641a65ae8abd7f013d7dec57a9e9a7c0cbf5f096356523cc |