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装饰器的高级用法

    2023-12-19 13:34:45
  • Python字典推导式将cookie字符串转化为字典解析

    2023-02-26 14:22:17
  • python基础知识之索引与切片详解

    2023-11-30 03:03:52
  • CentOS环境下安装Redis3.0及phpredis扩展测试示例

    2023-11-21 18:20:05
  • Django高级编程之自定义Field实现多语言

    2022-04-30 23:52:36
  • 深入解析HetuEngine实现On Yarn原理

    2023-10-12 17:56:09
  • matplotlib quiver箭图绘制案例

    2023-07-13 10:04:11
  • Anaconda2下实现Python2.7和Python3.5的共存方法

    2022-06-30 12:43:30
  • Python生成随机数组的方法小结

    2023-10-09 08:19:41
  • 使用:after清除浮动

    2008-10-30 12:10:00
  • 方便和实用

    2009-02-02 10:16:00
  • 如何用用Python制作NFT区块链作品

    2022-11-21 22:51:09
  • MySQL8.0内存相关参数总结

    2024-01-26 07:37:26
  • python使用SQLAlchemy操作MySQL

    2024-01-16 19:11:11
  • pycharm debug 断点调试心得分享

    2022-11-12 05:10:06
  • InnoDB引擎数据库主从复制同步新的分享

    2024-01-15 10:33:32
  • python实现与redis交互操作详解

    2022-07-07 17:37:18
  • SQL 查询性能优化 解决书签查找

    2024-01-28 08:33:53
  • Node.js基础模块babel使用详解

    2024-05-13 09:35:11
  • Python曲线拟合详解

    2023-12-29 05:54:50
  • asp之家 网络编程 m.aspxhome.com