Django Admin实现上传图片校验功能

作者:hahp 时间:2021-12-12 02:27:03 

 Django 为未来的开发人员提供了许多功能:一个成熟的标准库,一个活跃的用户社区,以及 Python 语言的所有好处。虽然其他 Web 框架也声称能提供同样的内容,但 Django 的独特之处在于它内置了管理应用程序 —— admin。

admin 提供了开箱即用的高级 Create-Read-Update-Delete (CRUD) 功能,减少了重复工作所需的时间。这是许多 Web 应用程序的关键所在,程序员可以在开发时快速浏览他们的数据库模型;非技术最终用户可以在部署时使用 admin 添加和编辑站点内容。

我的 models里有个ImageField字段,用来保存用户头像,希望通过Django Admin上传时校验头像大小,如果太大就报错,并且不保存。

网上有不少方法,有的通过第三方软件实现,有的通过自己写form验证,我觉得太复杂了,本身的要求也不高,只想要最简单的方法。

下面的方法是通过覆盖 admin.ModelAdmin 的 save_model()来校验图片大小,如果图片大于20K,就报错并且不保存:


from django.contrib import messages
class YourModeAdmin(admin.ModelAdmin):
...
def save_model(self, request, obj, form, change):
#不保存大图片
if obj.picture and obj.picture.size > 20480:
messages.set_level(request, messages.ERROR)
messages.error(request, 'The picture\'s too large. It\'s supposed smaller than 20K.')
else:
obj.save()

最后show一下实现好的django网站,感谢 andrew liu 的在线教程:

Django Admin实现上传图片校验功能

以上内容给大家介绍了Django Admin实现上传图片校验功能的相关知识,希望对大家以上帮助!

标签:django,admin,上传,图片
0
投稿

猜你喜欢

  • Go语言Handler详细说明

    2024-04-27 15:32:50
  • Python使用Turtle模块绘制五星红旗代码示例

    2022-03-02 16:17:19
  • Pygame游戏开发之太空射击实战敌人精灵篇

    2023-09-15 20:03:52
  • javascript编写贪吃蛇游戏

    2024-04-22 22:31:00
  • Golang 实现复制文件夹同时复制文件

    2024-02-09 10:57:26
  • MySQL GTID主备不一致的修复方案

    2024-01-15 21:26:16
  • 举例讲解Python中的Null模式与桥接模式编程

    2021-10-05 09:06:34
  • 简评:JavaScript将成Silverlight的最大对手?

    2008-10-17 10:29:00
  • 实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法

    2024-05-11 09:19:05
  • JS定时器实例

    2024-04-29 13:25:21
  • ansible作为python模块库使用的方法实例

    2022-07-15 08:01:02
  • Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例

    2022-11-13 00:12:24
  • WxPython建立批量录入框窗口

    2023-11-18 15:47:00
  • 在python中list作函数形参,防止被实参修改的实现方法

    2022-11-15 19:27:25
  • python中requests库+xpath+lxml简单使用

    2021-04-08 05:24:16
  • JavaScript编写点击查看大图的页面半透明遮罩层效果实例

    2024-02-24 03:33:08
  • 详解numpy.ndarray.reshape()函数的参数问题

    2022-02-06 20:22:57
  • Python导入模块包原理及相关注意事项

    2023-01-26 04:46:31
  • Python如何使用pymongo连接MongoDB数据库并进行相关操作

    2023-05-12 01:21:49
  • MySQL中常见的八种SQL错误用法示例

    2024-01-25 18:40:00
  • asp之家 网络编程 m.aspxhome.com