django实现图片上传和显示

首先安装pillow模块

在models.py下设置

class Notices(models.Model):    NoticeCategory=models.CharField(max_length=10,default=‘‘) #新闻分类    NoticeImagePath=models.ImageField(upload_to=‘img‘)

这里的upload_to是指将图片存放在哪个位置

在views.py中设置获取图片的方法

def index(request):
    Notice_list = Notices.objects.all().order_by(‘NoticeData‘)[:10]
    return render(request, ‘index.html‘, {‘Notice_list‘: Notice_list})

  我这里是获取整个notices列表。

在setting中设置:

MEDIA_ROOT = os.path.join(BASE_DIR, ‘media‘).replace(‘\\‘, ‘/‘)     #设置静态文件路径为主目录下的media文件夹
MEDIA_URL = ‘/media/‘

在上传图片时会自动生成media这个文件夹 

TEMPLATES = [
    {
        ‘BACKEND‘: ‘django.template.backends.django.DjangoTemplates‘,
        ‘DIRS‘: [os.path.join(BASE_DIR, ‘templates‘)]
        ,
        ‘APP_DIRS‘: True,
        ‘OPTIONS‘: {
            ‘context_processors‘: [
                ‘django.template.context_processors.debug‘,
                ‘django.template.context_processors.request‘,
                ‘django.contrib.auth.context_processors.auth‘,
                ‘django.contrib.messages.context_processors.messages‘,
                ‘django.template.context_processors.media‘,#新增加的一行
            ],
        },
    },
]

  在urls中添加

urlpatterns = [
    url(‘admin/‘, admin.site.urls),
    url(r‘^std_web/‘, include(‘std_web.urls‘, namespace=‘std_web‘)),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

 在index.html中

<a href="{{Notice_list.NoticeImagePath.url}}"><img src="{{Notice_list.NoticeImagePath.url}}"></img></a>

  具体显示图片代码。

原文地址:https://www.cnblogs.com/1998lu/p/9291674.html

时间: 2024-10-01 01:36:42

django实现图片上传和显示的相关文章

【Servlet】利用Servlet3.0标准与JSTL表达式实现文件上传系统,支持图片上传后显示

伴随着JDK1.6一起出现的Servlet3.0标准,使得JSP的文件上传系统不再艰难,此前在JSP的文件上传系统需要<[Jsp]使用jspsmartupload完成简单的文件上传系统>(点击打开链接)类似这样的插件才能完成的文件上传系统,还不支持中文,使得各位程序猿掏空心思才能解决这个问题.现在Servlet3.0对文件上传的方法进行封装,无须分块就可以实现.而且Servlet3.0还不用类似<[Servlet]最简单的Servlet JavaWeb程序>(点击打开链接)在web

图片上传即时显示javascript代码

1.首先是javascript代码 /** * 图片上传即时显示javascript */ var allowExt = [ 'jpg', 'gif', 'bmp', 'png', 'jpeg' ]; var preivew = function(file, container) { try { var pic = new Picture(file, container); } catch (e) { alert(e); } }; // 缩略图类定义 var Picture = function

图片上传及显示(包含多文件)

前一段时间用到文件上传,好久没有写这个东西,有的东西也忘记了.所以本篇博客BZ决定记载一下,一方面自己回顾加深一下,另一方面供各位程序员学习. 希望大神们对本文不对的地方进行批评指正! 先在我们的html页面写上上传文件的文本框及图片显示所在的DIV,如下: 1 <div class="form-group"> 2 <label class="col-sm-2 control-label no-padding-right" id="lb_

MVC图片上传并显示缩略图

前面已经说了怎么通过MVC来上传文件,那么这次就说说如何上传图片然后显示缩略图,这个的实用性还是比较大.用UpLoad文件夹来保存上传的图片,而Temp文件夹来保存缩略图,前面文件上传部分就不再重复了,不过图片上传当然只能是图片格式的文件,因此在之前那篇博客中 通过控制格式的上传便能防止恶意上传,这个是文件上传的教程链接:http://www.cnblogs.com/xmfdsh/p/3988868.html 对于数据库的设计的话就随便点: 于是用EF便自动生成了类如下: public part

Django配置图片上传

本文首先实现django中上传图片的过程,然后解决富文本编辑器文件上传的问题. 一. 上传图片 1.在 settings.py 中配置MEDIA_URL  和 MEDIA_ROOT 在 D:\blog_project  下建立文件夹 uploads MEDIA_URL = '/uploads/' # 上传图片的路径:D:\blog_project\uploads MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads') # 上传图片的根路径 BASE_DIR:

android自定义View实现图片上传进度显示(仿手机QQ上传效果)

首先看下我们想要实现的效果如下图(qq聊天中发送图片时的效果): 再看一下我实现的效果: 1.效果已经看见了,下面我们来实现它.首先我创建一个android工程ProgressImageView.然后我们重写ImageView控件,创建ProcessImageView类代码如下: package com.example.processimageview; import android.annotation.SuppressLint; import android.content.Context;

【Jersey】图片上传及显示

一.前期准备 图片上传需要用到的一些依赖: <dependency> <groupId>org.jvnet.mimepull</groupId> <artifactId>mimepull</artifactId> <version>1.7</version> </dependency> <dependency> <groupId>com.sun.jersey.contribs</g

安卓自定义View实现图片上传进度显示(仿QQ)

首先看下我们想要实现的效果如下图(qq聊天中发送图片时的效果): 再看下图我们实现的效果: 实现原理很简单,首先我们上传图片时需要一个进度值progress,这个不管是自己写的上传的方法还是使用第三方开源库,其次,需要自定义一个View并重写onDraw方法,此例中的进度是开启了一个线程,然后模仿进度递增,然后将进度值通过自定义View调用一个自定义方法传进自定义View并根据进度进行重绘. 绘制分为三部分: 1.绘制矩形(图片面积)上半部分阴影区: 2.绘制矩形(图片面积)下半部分非阴影区:

移动端开发之图片上传与显示

1.上传,使用servlet以及ajax (1)需要引入的包: (2)配置web.xml (3)引入servlet的程序 servlet代码: package upload; import java.sql.*;import java.io.File;import java.io.IOException;import java.io.PrintWriter;import java.util.Date;import java.util.List; import javax.servlet.Serv