Django ImageField 上传图片并保存到数据库

From 代码

class ImageUploadForm(forms.Form):
    """Image upload form."""
    image = forms.ImageField()

Model 代码

class ExampleModel(models.Model):
    model_pic = models.ImageField(upload_to = ‘pic_folder/‘, default = ‘pic_folder/None/no-img.jpg‘)

对应的模板代码

   <form action="{% url upload_pic %}" method="post" enctype="multipart/form-data">{% csrf_token %}
                <p>
                      <input id="id_image" type="file" class="" name="image"> <!-- 这一行应该是form.image,省事写的 -->
                </p>
                <input type="submit" value="Submit" />
          </form>

注意: :<form ... enctype="multipart/form-data"> 这样才能传图片的撒!

def upload_pic(request):
      if request.method == ‘POST‘:
          form = ImageUploadForm( request.POST, request.FILES )  # 有文件上传要传如两个字段
          if form.is_valid():
              m = ExampleModel.objects.get(pk=course_id)
              m.model_pic = form.cleaned_data[‘image‘]                     # 直接在这里使用 字段名获取即可
              m.save()
              return HttpResponse(‘image upload success‘)
      return HttpResponseForbidden(‘allowed only via POST‘)
时间: 2024-08-07 20:02:22

Django ImageField 上传图片并保存到数据库的相关文章

django -- ImageField 上传图片修改头像

django -- ImageField 上传图片修改头像 头像 Django ImageField 折腾了差不多一个星期的空闲时间,刚上手不久的 Django 为了上传个头像被弄得没了脾气 定义模型 model.py headImg = models.ImageField(upload_to = 'img', default="img/4.jpg") ImageField 是 Django 的内置数据类型,可以较方便的时间图片处理 upload_to 表示要上传到的目录,会在 med

php实现上传图片保存到数据库的方法

http://www.jb51.net/article/61034.htm 作者:傲雪星枫 字体:[增加 减小] 类型:转载 这篇文章主要介绍了php实现上传图片保存到数据库的方法,可通过将图片保存在数据库实现多台服务器共享文件的功能,非常具有实用价值,需要的朋友可以参考下 php实现上传图片保存到数据库的方法.分享给大家供大家参考.具体分析如下: php 上传图片,一般都使用move_uploaded_file方法保存在服务器上.但如果一个网站有多台服务器,就需要把图片发布到所有的服务器上才能

C#(WinForm)上传图片保存到数据库和从数据库读取图片显示到窗体

1 //浏览图片 2 3 private void btnUp_Click(object sender, EventArgs e) 4 5 { 6 7 OpenFileDialog ofd = new OpenFileDialog(); 8 9 ofd.Title = "选择要上传的图片"; 10 11 ofd.Filter = "All Files(*.*)|*.*|位图(*.bmp)|*.bmp|JPEG(*.jpg)|*.jpg"; 12 13 ofd.Sho

django里上传图片的操作

  在django里图片上传里,分为两种一种是在django的后台上传图片,以数据库的方式上传,另一种是在html页面以表单的方式上传 首先要先安装下这个包 pip install Pillow==3.4.1 setting里需要设置 上传的路径 MEDIA_ROOT=os.path.join(BASE_DIR,'static/media') 在model里要配置数据库 class PicTest(models.Model): pic=models.ImageField(upload_to='b

四 Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置

Django框架,models.py模块,数据库操作--创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, oracle,postgresql数据库. 1,django默认使用sqlite的数据库,默认自带sqlite的数据库驱动   引擎名称:django.db.backends.sqlite3 在全局配置文件settings.py可以看到确认配置使用的sqlite数据库 # Database # h

Django中的app及mysql数据库篇(ORM操作)

Django常见命令 在Django的使用过程中需要使用命令让Django进行一些操作,例如创建Django项目.启动Django程序.创建新的APP.数据库迁移等. 创建Django项目 一把我们都新建一个文件夹来存放项目文件,切换到这个目录下,启动命令行工具.创建一个名为mysite的Django项目: django-admin startproject mysite 创建好项目之后,可以查看当前目录下多出一个名为mysite的文件夹,mysite的文件夹目录结构如下: mysite/ ma

Django的ORM映射机制与数据库实战

一.ORM(Object Relational Mapping) 1.ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. 2.ORM由来 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于"关系&qu

关于django批量上传图片

本来想一张一张上传的,但是明显会对客户造成不必要的麻烦,所以如果前台一次性上传五张十张的话,那就简单的多. 但是后台我数据库对于图片存储的字段只有一个,不可能有多少张照片就要多少个字段来存储.也就是说,1:我每次只能在后台存一张到数据库,2:在前台展示的时候我直接可以循环这一个字段来展示我的图片 那么这就涉及到一个列表跟数据循环存储的东西了 用到字典是因为我每张图片还有各自的图片描述,这两个信息时同时提交跟保存的.我把图片保存的url跟他的描述做成列表,然后再循环保存就搞定了. 这里主要用到的就

django的模型类管理器-----------数据库操作的封装

模型实例方法 str():在将对象转换成字符串时会被调用. save():将模型对象保存到数据表中,ORM框架会转换成对应的insert或update语句. delete():将模型对象从数据表中删除,ORM框架会转换成对应的delete语句. 模型类的属性 属性objects:管理器,是Manager类型的对象,用于与数据库进行交互. 当没有为模型类定义管理器时,Django会为模型类生成一个名为objects的管理器,自定义管理器后,Django不再生成默认管理器objects. 管理器是D