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
在视图中,尝试显示编码文件,它必须已加密存储。
我目前正在尝试弄清楚如何实现以下内容:
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
在视图中,尝试显示编码文件,它必须已加密存储。