Skip to main content

Simple email confirmation for django model instances.

Project description

djeveric

    Simple email confirmation for django model instances with 
    [Django Rest Framework](https://www.django-rest-framework.org/).
    
    ## Usage
    
    ### Create a model
    
    Create a model class inheriting from `ConfirmableModelMixin` with a `ConfirmationField` and refer to a 
    `ConfirmationEmail` class like this:
    
    ```python
    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)
    ```
    
    When unconfirmed instances of the model are saved, djeveric sends a confirmation email to the specified address.
    
    
    ### Create a ViewSet
    
    To actually confirm a viewset, your backend needs a view set using the `ConfirmModelMixin`:
    
    ```python
    from rest_framework import viewsets
    
    from djeveric.views import ConfirmModelMixin
    
    
    class MyModelViewSet(ConfirmModelMixin, viewsets.GenericViewSet):
        queryset = MyModel.objects
    ```
    
    On a `POST /api/my-models/{pk}/confirm/` with `{"token": "THE TOKEN"}` as data the model instance will be confirmed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

djeveric-2.3.0.tar.gz (4.4 kB view details)

Uploaded Source

File details

Details for the file djeveric-2.3.0.tar.gz.

File metadata

  • Download URL: djeveric-2.3.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for djeveric-2.3.0.tar.gz
Algorithm Hash digest
SHA256 32a7f604c5f01ba83851297076331b4913c708612a4db5b6ca888425b4361e8b
MD5 4eedb7ca343eca583e8229dde610d723
BLAKE2b-256 18634618de808cf5caa85072b00ee1f01b04f1ed5169dac16358d6954c4bd655

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page