Django admin实现图片文件上传

2010-04-24 22:52:18 by sand, 1376 visits, Tags: admin, Python, Django,

一般大家都知道django有个很好用的管理后台admin,普通应用这里就不说了,介绍一下他里面的内置实现的文件上传功能

  1. 首先在model里定义属性:
    pic = models.ImageField('图片',upload_to='uploadImages')
     
  2. 修改setting.py
    MEDIA_ROOT = 'media1001/'
    MEDIA_URL = '/webhost_media/'
     
  3. 数据库对应实体的表中添加pic字段,属性为文本,这个只是用来保存文件路径的
     
  4. 上面配置代表的意思大概是:
    上传图片到:web程序目录/media1001/uploadInages/
    访问路径为:http://hostname/webhost_media/uploadImages/filename.jpg
     
  5. 基本就是这样,大家可以试一下,很方便,页面调用为modelobjname.pic.url

     

错误及解决:
 

  1. framework.product: "pic": To use ImageFields, you need to install the Python Imaging Library. Get it at http://www.pythonware.com/products/pil/ .

    解决:安装Python Imaging Library (PIL)
    1)下载:
    官方:http://www.pythonware.com/products/pil/
    直接下载:http://effbot.org/downloads/Imaging-1.1.7.tar.gz
    2)运行命令安装:
    sudo python setup.py install
     
  2. ImageField causing error when rendering with "The Image" attribute has no file associated with it.

    解决:调用pic.url时要先判断pic不为空

有问题请留言或联系我,一定尽力解答,Good Luck!

相关评论 | Comments (2)

  1. Danfi says: 2010-05-05 07:21:40
    页面调用为modelobjname.pic.url 如果在admin下调用呢?

发表评论

用户名(required)

验证码(required)

Email(不会显示在网页)(required)

您的站点