В настоящее время я пытаюсь выяснить, как реализовать следующее:
https://github.com/danielquinn/django-encrypted-filefield
Я только хочу прозрачно зашифровать свои загруженные данные для последующего использования, например, S3
Первая проблема заключается в том, что яЯ не могу импортировать
from django.contrib.auth.mixins import AuthMixin
.Я получаю следующее исключение:
из django.contrib.auth.mixins import AuthMixin
ImportError: невозможно импортировать имя 'AuthMixin'
Я просто несмог найти его.В каком пакете он находится?
и во-вторых, я понятия не имею, как реализовать представление, если я хочу только зашифровать и расшифровать файл на лету.Любые предложения?
my 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})
Спасибо:)