django上传图片简单验证以及自动修改图片名称(代码片段)

sunshenggang sunshenggang     2022-12-28     756

关键词:

django实现文件(图片)上传之后自动修改名称以及页面上传图片时的各种提醒:

1、先在你项目中添加一个文件夹如:system 在文件夹下添加__init__.py 和storage.py文件,并在storage.py中添加如下代码:

# -*- coding:utf-8 -*-
from django.core.files.storage import FileSystemStorage
from django.http import HttpResponse

class ImageStorage(FileSystemStorage):
    from django.conf import settings

    def __init__(self,location=settings.MEDIA_ROOT, base_url=settings.MEDIA_URL):
        #初始化
        super(ImageStorage,self).__init__(location,base_url)

    def _save(self,name,content):
        #重新文件上传
        import os,time,hashlib
        
        #获取文件后缀
        ext = os.path.splitext(name)[1]

        #文件目录
        d = os.path.dirname(name)

        #定义文件夹名称
        fn = hashlib.md5(time.strftime(%Y%m%d%H%M%S).encode(utf-8)).hexdigest()
        name = os.path.join(d,fn+ext)

        #调用父类方法
        return super(ImageStorage,self)._save(name,content)

        

2、在models.py文件中添加如下代码:

from django.db import models
from datetime import datetime
from system.stroage import ImageStorage
# Create your models here.

#文章咨询表
class Article(models.Model):
    title = models.CharField(max_length=250, null=False, verbose_name=标题, unique=True)
    content = models.TextField(verbose_name=内容)
    add_time = models.DateTimeField(verbose_name=添加时间, default=datetime.now)
    update_time = models.DateTimeField(verbose_name=修改时间, null=True)
    state = models.IntegerField(verbose_name=状态, default=1)
    cat_id = models.ForeignKey(Category, on_delete=models.CASCADE)
    t = datetime.now()
    cover_map = models.ImageField(verbose_name=缩列图,upload_to=article/%Y/%m/%d,default=1.png,storage=ImageStorage())

    class Meta:
        verbose_name = 文章
        ordering = [-add_time]

    def __str__(self):
        return self.title

    def delete(self, using=None, keep_parents=False):
        print(1111)

 

修改ueditor的图片上传地址

...json/*前后端通信相关的配置,注释只允许使用多行方式*/{/*上传图片配置项*/"imageActionName":"uploadimage",/*执行上传图片的action名称*/"imageFieldName":"upfile",/*提交的图片表单名称*/"imageMaxSize":2048000,/*上传大小限制,单位B*/"imageA 查看详情

django rest框架用于多张图片上传

】djangorest框架用于多张图片上传【英文标题】:djangorestframeworkformultipleimageupload【发布时间】:2016-05-0217:32:59【问题描述】:我在使用DjangoRestFramework上传多张图片时遇到了困难。我想要的是,有一个租赁表,用户可以在其中一... 查看详情

请问上传图片时尺寸过大该怎么办??

上传图片时尺寸过大的解决的方法如下(以windows10系统的格式工厂为例,需要先下载格式工厂):1、打开需要压缩的图片,右键选择格式工厂。2、在接着自动打开的对话框中点击配置按钮。3、在随后打开的界面中点击大小设置... 查看详情

sqlserver修改数据库名称

...单击打开——“SQLServerManagementStudioExpress”。请点击输入图片描述在身份验证中选择——“Windows身份验证”,然后点击——“连接”。请点击输入图片描述在身份验证中如果选择——“SQLServer身份验证”,则需要输入——“用户... 查看详情

form验证及图片上传

form验证及图片上传这一节增加推荐图书的提交和删除功能,来学习node的form提交以及node的图片上传功能。开始之前需要源码同学可以先在git上fork:https://github.com/stoneniqiu/ReadingClub一、form验证 MVC的form验证有三个地方可以做,... 查看详情

kindeditor的简单使用,以及上传图片预览图片,用户删除图片后的数据处理(重点)(代码片段)

http://www.cnblogs.com/wupeiqi/articles/6307554.html简单使用:<divclass="comm"><formmethod="POST"enctype="multipart/form-data">%csrf_token%<divstyle="margin:0auto;"class="comment-area"> 查看详情

上传图片时如何自动创建按钮?

】上传图片时如何自动创建按钮?【英文标题】:HowtoautomaticallycreatebuttonswhenIuploadimage?【发布时间】:2016-02-2104:46:15【问题描述】:我想知道如何在使用Java(使用Netbeans)上传图像时自动创建按钮。我正在编码库存管理系统。我... 查看详情

批量修改图片名称

<?php//glob()返回指定目录下的文件名以及目录$arr=glob("img/*.jpg");$time=time();$i=100001;//循环遍历foreach($arras$file){//获取图片后缀名$ext=pathinfo($file,PATHINFO_EXTENSION);//确定图片的新名字$name=$time.$i++.".".$ext;//重命名rename 查看详情

使用 s3 和 django-storages 并上传图片

】使用s3和django-storages并上传图片【英文标题】:usings3withdjango-storagesanduploadingimages【发布时间】:2014-07-0105:30:11【问题描述】:我正在尝试在Amazon的S3服务上上传MEDIA_FILES。我想先将它们上传到存储桶的根目录,然后在保存文件... 查看详情

多张图片上传通过 php 验证

】多张图片上传通过php验证【英文标题】:Multiimageuploadvalidatebyphp【发布时间】:2021-06-1101:23:12【问题描述】:我根据这篇帖子https://***.com/a/30074716/14787718(它的工作代码)修改了我的上传代码但是我的代码不起作用,请帮忙。... 查看详情

uploadify图片上传

遇到的问题总结:1.//图片排序$("#pics").sortable();2.//上传的文件对象名,与后台所传参数名保持一致,最初因为这个名称错误浪费了许久时间fileObjName:"image", 3.上传数量控制提示消息需要到uploadify.js中修改,修改后发现没有效果;所... 查看详情

javaweb中上传图片以及显示图片的方法(代码片段)

JavaWeb中上传图片以及显示图片的方法环境需求jdk8+windows开发工具postman创建一个springbootstarter项目打开你熟悉的开发工具,创建一个springbootstarter项目,只需要在pom.xml中加入springweb依赖即可如果你创建的是maven项目,... 查看详情

接口自动化实现图片上传(selenium/rf)(代码片段)

最近做自动化碰到一个问题:就是带图片上传的不知道怎么实现自动化:整理了下实现如下: 上传图片postman结果请求如下,上传图片后返回一个图片地址:post请求body是form-data而不是json fiddler抓取如下, selenium实现... 查看详情

Django 应用程序:必须将图像上传到的目录名称,应自动填充

】Django应用程序:必须将图像上传到的目录名称,应自动填充【英文标题】:Djangoapplication:thedirectory_nametowhichanimagehastobeuploaded,shouldbeautopopulated【发布时间】:2020-11-2321:05:16【问题描述】:我想使用我的应用程序将图像上传到djan... 查看详情

上传图片或选择图片 - Html Django

】上传图片或选择图片-HtmlDjango【英文标题】:uploadimageorselectImage-HtmlDjango【发布时间】:2021-05-2110:52:20【问题描述】:我正在Django中处理一个项目,在订单页面上,我想为用户提供一个功能,他可以上传新图像或从现有图像中... 查看详情

Django-CKEditor 图片上传

】Django-CKEditor图片上传【英文标题】:Django-CKEditorImageUpload【发布时间】:2013-06-0517:38:48【问题描述】:我目前已经安装了Django-CKEditor并拥有自己的自定义工具栏。我正在努力寻找如何启用图片上传。单击图像按钮时,我只能通... 查看详情

Android-Django 图片上传

】Android-Django图片上传【英文标题】:Android-DjangoImageupload【发布时间】:2012-04-0306:40:16【问题描述】:我正在尝试使用android作为前端和django作为后端上传图片。模型:classPhoto(models.Model):title=models.CharField(max_length=255,blank=True)photo=... 查看详情

uipathoutlook邮件正文引用图片

...nbsp;最后发现以下方法最为简单和可用。1. 先将图片上传为附件:   2.然后如下图在邮件正文按格式引用附件名称即可,并可以设置图片展示 查看详情