Django 加密文件字段

Django encrypted-filefield

我目前正在尝试弄清楚如何实现以下内容:
https://github.com/danielquinn/django-encrypted-filefield
我只想透明地加密我上传的数据以供以后使用,例如S3

第一个问题是我无法获得

from django.contrib.auth.mixins import AuthMixin

进口。我收到以下异常:

from django.contrib.auth.mixins import AuthMixin
ImportError: cannot import name 'AuthMixin'

我就是找不到它。它位于哪个包中?

其次,如果我只想动态加密和解密文件,我不知道如何实现该视图。 有什么建议吗?

我的models.py

from django.db import models
from django.utils import timezone
from smartfields import fields
from smartfields.dependencies import FileDependency
from smartfields.processors import ImageProcessor
from django_encrypted_filefield.fields import EncryptedFileField

#Post Model
class Post(models.Model):
    author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
    title = models.CharField(max_length=200)
    text = models.TextField(max_length=10000)
    tag = models.CharField(max_length=50, blank=True)
    postattachment = EncryptedFileField(upload_to='postattachment/%Y/%m/%d/', blank=True, null=True)
    postcover = fields.ImageField(upload_to='postcover/%Y/%m/%d/', blank=True, null=True, dependencies=[
        FileDependency(processor=ImageProcessor(
            format='JPEG', scale={'max_width': 300, 'max_height': 300}))
    ])
    created_date = models.DateTimeField(default=timezone.now)
    published_date = models.DateTimeField(blank=True, null=True)

    def publish(self):
        self.published_date = timezone.now()
        self.save()

    def __str__(self):
        return self.title

views.py

def post_detail(request, pk):
    post = get_object_or_404(Post, pk=pk)
    return render(request, 'quickblog/post_detail.html', {'post': post})

谢谢:)

django mixin 中不存在该 mixin。也许,该演示引用了一个 class 扩展任何你可以在 django 中找到的 mixins

查看 django 源代码,尝试使用 class:

from django.contrib.auth.mixins import AccessMixin

在视图中,尝试显示编码文件,它必须已加密存储。