python中Django文件上传方法详解

作者:爱喝马黛茶的安东尼 时间:2021-12-31 13:40:41 

Django上传文件最简单最官方的方法

1.配置media路径

在settings.py中添加如下代码:


MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

2.定义数据表


import os
from django.db import models
from django.utils.timezone import now as timezone_now
def upload_to(instance, filename):
    now = timezone_now()
    base, ext = os.path.splitext(filename)
    ext = ext.lower()
    return f'quotes/{now:%Y/%m/%Y%m%d%H%M%S}{ext}'
class Quote(models.Model):
    class Meta:
        verbose_name = 'quote'
        verbose_name_plural = verbose_name
    author = models.CharField('author', max_length=200)
    quote = models.TextField('quote')
    picture = models.ImageField('picture', upload_to=upload_to, blank=True, null=True)
    def __str__(self):
        return self.quote

这里的upload_to函数会自动把文件的名称修改为日期型的名称,不会重名。

标签:python,Django,文件上传
0
投稿

猜你喜欢

  • Python为人脸照片添加口罩实战

    2021-11-12 23:39:33
  • Python反爬实战掌握酷狗音乐排行榜加密规则

    2021-05-29 08:05:57
  • Python的Scrapy爬虫框架简单学习笔记

    2023-09-25 06:41:44
  • python基于pygame实现飞机大作战小游戏

    2021-04-27 07:59:17
  • [翻译]标记语言和样式手册 Chapter 14 图片替换

    2008-02-18 12:56:00
  • 用ajax实现的自动投票的代码

    2023-08-24 16:35:07
  • Django组件content-type使用方法详解

    2023-10-01 13:54:42
  • python 调整图片亮度的示例

    2021-06-05 22:52:01
  • numpy中hstack vstack stack concatenate函数示例详解

    2023-02-22 19:39:06
  • 用 Schema 约束 XML 数据

    2010-08-24 18:21:00
  • 一个统计当前在线用户的解决方案

    2007-10-13 19:27:00
  • Django Channels 实现点对点实时聊天和消息推送功能

    2022-04-03 10:37:56
  • 页面自动刷新javascript代码大全

    2010-06-28 18:54:00
  • Python3之外部文件调用Django程序操作model等文件实现方式

    2023-07-19 01:17:29
  • 经验总结:ASP与存储过程解析

    2008-11-07 13:33:00
  • 详解opencv中画圆circle函数和椭圆ellipse函数

    2023-08-10 22:11:40
  • python爬虫之遍历单个域名

    2021-06-28 07:45:34
  • Python爬虫实现爬取百度百科词条功能实例

    2021-01-09 06:23:30
  • Python中JSON的使用方法(超详细)

    2023-11-15 23:04:19
  • 200 行python 代码实现 2048 游戏

    2021-08-06 16:17:35
  • asp之家 网络编程 m.aspxhome.com