Django加密文件字段

Django加密文件字段,django,encryption,views,Django,Encryption,Views,我目前正在尝试解决如何实现以下内容: 我只想对上传的数据进行透明加密,以备日后在S3上使用 第一个问题是,我无法 from django.contrib.auth.mixins import AuthMixin 进口的。我得到以下例外情况: 从django.contrib.auth.mixin导入AuthMixin ImportError:无法导入名称“AuthMixin” 我就是找不到。它位于哪个包裹处 第二,如果我只想动态加密和解密文件,我不知道如何实现该视图。 有什么建议吗 我的模特

我目前正在尝试解决如何实现以下内容:

我只想对上传的数据进行透明加密,以备日后在S3上使用

第一个问题是,我无法

from django.contrib.auth.mixins import AuthMixin
进口的。我得到以下例外情况:

从django.contrib.auth.mixin导入AuthMixin
ImportError:无法导入名称“AuthMixin”

我就是找不到。它位于哪个包裹处

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

我的模特

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。也许,这个演示引用了一个扩展django中任何一个类的类

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

from django.contrib.auth.mixins import AccessMixin
在视图中,尝试显示编码文件,它必须已加密存储。

Hey:D thx以获取提示。“AccessMixin”似乎有效,但如何实现该视图,我不知道。这是我目前的第一个项目。