如何在django项目中使用javascript提交之前调整图像大小

时间:2019-02-22 18:37:55

标签: javascript python-3.x django-forms django-templates

简介:我有一则帖子,用户最多可以上传8张图片。我的部署方法不允许总上传量(所有图像的总和超过10mb)。因此,我不能使用枕形或其他在upoad之后减小图像尺寸的软件包。我在想,如果我使用JavaScript,则可以在提交表单之前减小图片大小。这样,当我点击提交时,图像已经被缩小,并且所有图像的总数都小于9mb(为了安全起见)

我一直在考虑的实现方法:我一直在考虑使用http://www.wangyulue.com/assets/image-comversion/example/index.html,该代码在github上具有。 https://github.com/WangYuLue/image-conversion

使用https://github.com/josefrichter/resize/blob/master/public/preprocess.js

我不确定如何使用它们。以下是我的表单模板

{% extends 'posts/post_base.html' %}
{% load bootstrap3 %}

{% block postcontent %}
<h2> Create/Update a post</h2>
<form action="" method="post" enctype="multipart/form-data">
    {% csrf_token %}
    {% bootstrap_form form %}
    <h2 class="text-success">Proof Images</h2>
    {% bootstrap_formset formset %}    
    <br/><br/><input type="submit" class="btn btn-primary" value="Post"/>

</form>

{% endblock %} 

以下是我的模型,以防万一

class Post(models.Model):
    user = models.ForeignKey(User, related_name='posts')    
    title = models.CharField(max_length=250, unique=True)    
    message = models.TextField()    
    post_image = models.ImageField(upload_to='post_images/')

下面的模型添加剩余的图像

class Prep (models.Model): #(Images)
    post = models.ForeignKey(Post, on_delete=models.CASCADE, related_name='post_prep')
    image = models.ImageField(upload_to='post_prep_images/', blank=True, null=True)
    image_title = models.CharField(max_length=100)
    image_description = models.CharField(max_length=250)

这2个模型组成了表单,请让我知道是否需要我可以添加的视图

0 个答案:

没有答案