Django上传并显示图片 Posted 2020-10-09 蚂蚁flow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django上传并显示图片相关的知识,希望对你有一定的参考价值。
非常详细的教程,教大家一步步用Django上传与显示图片。用例子学习是一个不错的方法,下面我用一个非常简单的例子为大家讲解Django中图片的上传与显示。
1. 创建名称为‘a’的项目
1
$django-admin startproject a
2.在项目‘a’中创建名为‘b’的app
12
$cd a$python manage.py startapp b
3.把b加入到settings.py中的INSTALLED_APPS中
123456789
INSTALLED_APPS = ( ‘django.contrib.admin‘, ‘django.contrib.auth‘, ‘django.contrib.contenttypes‘, ‘django.contrib.sessions‘, ‘django.contrib.messages‘, ‘django.contrib.staticfiles‘, ‘b‘,)
12345
from __future__ import unicode_literalsfrom django.db import models
5.更新数据库
123456
Django 1.7及以上的版本需要用以下命令python manage.py makemigrationspython manage.py migrateDjango 1.7以下用以下命令python manage.py syncdb
6.在文件夹b下,编辑views.py ,创建图片上传与显示函数
1234567891011121314151617
from django.shortcuts import renderfrom b.models import IMG
7.在a文件夹下,编辑urls.py文件
123456789101112
from django.conf.urls import urlfrom django.contrib import adminfrom b import viewsfrom django.conf.urls.static import staticfrom django.conf import settingsurlpatterns = [ url(r‘^admin/‘, admin.site.urls), url(r‘^upload‘, ‘b.views.uploadImg‘), url(r‘^show‘, ‘b.views.showImg‘),] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
8.编辑a文件夹下的setting.py文件,添加如下代码:主要的作用是配置上传文件的根路径
12
MEDIA_URL = ‘/media/‘ URL的映射,前后要加上‘/’ 表示从根目录开始,比如“/site_media/”,加上这个属性之后,静态文件的链接前面会加上这个值可以随便写但不能不写MEDIA_ROOT = os.path.join(BASE_DIR, ‘media‘).replace(‘\\‘, ‘/‘) 文件上传的根路径
9.在b文件夹下创建templates文件夹,再在templates文件夹下创建b文件夹,再在新创建的b文件夹下创建uploadimg.html文件,内容如下:
12345
<form method="POST" enctype="multipart/form-data">{% csrf_token %}<input type="file" name="img"><button type="submit">上传</button></form>
10.在uploadimg.html同目录下创建showimg.html文件
123
{% for img in imgs %}<img src=‘{{ img.img.url }}‘ />{% endfor %}
11.运行django程序
1
$python manage.py runserver
12.上传图片
打开浏览器,输入地址:http://127.0.0.1:8000/upload ,进入图片上传页面,点击“浏览”,选择要上传的图片,“上传”之。因为页面设计的比较简单,所以大家上传图片后,在本页面看不到任何变化,但确实已经上传了;
13.显示上传的图片
在浏览器中输入:http://127.0.0.1:8000/show ,就会看到我们已经上传的图片。
PS:以上步骤仅仅是非常简单的图片上传与显示,更多复杂的图片上传显示问题,大家可以在次基础上修改。
原创文章如转载,请注明本文链接:http://www.cognize.me/2016/05/09/djangopic
以上是关于Django上传并显示图片的主要内容,如果未能解决你的问题,请参考以下文章
Django上传并显示图片
django上传图片并且带有预览功能
django 图片上传与显示
如何使用 Django 和 AJAX 显示上传的图像
Django ImageField 上传图片并保存到数据库
Django 后台上传以及显示图片