Skip to main content

drf-base64-filename

drf-base64-filename provides Serializer fields for using base64-encoded files with file names.

Setup

Install drf-base64-filename to your Python environment

pip install drf-base64-filename

Usage

Sample Model

class SampleBase64ImageModel(models.Model):
    parent = models.ForeignKey(
        SampleParentModel, 
        on_delete=models.CASCADE, 
        related_name='image_set', 
        blank=True, 
        null=True,
    )
    image = models.ImageField(blank=True)

class SampleBase64FileModel(models.Model):
    parent = models.ForeignKey(
        SampleParentModel, 
        on_delete=models.CASCADE,
        related_name='file_set', 
        blank=True, 
        null=True,
    )
    file = models.FileField(blank=True)

Serializer Field

class SampleNamedBase64ImageSerializer(serializers.ModelSerializer):
    image = NamedBase64ImageField(required=False, allow_null=True)

    class Meta:
        model = SampleBase64ImageModel
        fields = (
            'id',
            'image',
        )


class SampleNamedBase64FileSerializer(serializers.ModelSerializer):
    file = NamedBase64FileField(required=False, allow_null=True)

    class Meta:
        model = SampleBase64FileModel
        fields = (
            'id',
            'file',
        )

Sample request data

{
    "image": {
        "file_name": "pby.jpg",
        "encoded_str": "aHR0cHM6Ly9naXRodWIuY29tL2xlZWhhbnllb25n"
    }
}

Sample response data

{
    "image": "http://test/media/pby.jpg"
}

Testing

cd test_project
pip install -r requirements.txt
pytest

Contributing

As an open source project, we welcome contributions. The code lives on GitHub

Download files

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

Source Distribution

drf-base64-filename-1.0.7.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

drf_base64_filename-1.0.7-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file drf-base64-filename-1.0.7.tar.gz.

File metadata

  • Download URL: drf-base64-filename-1.0.7.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for drf-base64-filename-1.0.7.tar.gz
Algorithm Hash digest
SHA256 c26a3b61b15e0488baac2d3861bac0c196f2e1f7e8c1db1b7f793cd2110a5b9b
MD5 8e58c75bbeabae30cf8d70888e85de04
BLAKE2b-256 e59acade9e6ccf422f82726b14c12152aee2a4e6d5b95630e5f0aa77ce4c0465

See more details on using hashes here.

File details

Details for the file drf_base64_filename-1.0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for drf_base64_filename-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 cfd9af977afe6b6389e5b83848a177b0dff86ecfb715a1d01c0c24409a80c3bb
MD5 6e91ed41965740221c76bd032ddf6ca1
BLAKE2b-256 4054f562c3b53e1b587b00292f800465b5d143eb6ac726981ef7d2e340786774

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 Sentry Error logging StatusPage Status page