Django上传并显示图片 非常详细的教程,教大家一步步用Django上传与显示图片。用例子学习是一个不错的方法,下面我用一个非常简单的例子为大家讲解Django中图片的上传与显示。
1. 创建名称为‘a’的项目 1 $django -admin startproject a
2.在项目‘a’中创建名为‘b’的app 1 2 $cd a$python manage.py startapp b
3.把b加入到settings.py中的INSTALLED_APPS中 1 2 3 4 5 6 7 8 9 INSTALLED_APPS = ( 'django.contrib.admin' , 'django.contrib.auth' , 'django.contrib.contenttypes' , 'django.contrib.sessions' , 'django.contrib.messages' , 'django.contrib.staticfiles' , 'b' , )
4.在文件夹b下,编辑models.py,创建IMG类 1 2 3 4 5 from __future__ import unicode_literalsfrom django.db import modelsclass IMG (models.Model) : img = models.ImageField(upload_to='upload' )
5.更新数据库 1 2 3 4 5 6 Django 1.7及以上的版本需要用以下命令 python manage.py makemigrations python manage.py migrate Django 1.7以下用以下命令 python manage.py syncdb
6.在文件夹b下,编辑views.py,创建图片上传与显示函数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 from django.shortcuts import renderfrom b.models import IMGdef uploadImg (request) : if request.method == 'POST' : new_img = IMG( img=request.FILES.get('img' ) ) new_img.save() return render(request, 'b/uploadimg.html' ) def showImg (request) : imgs = IMG.objects.all() content = { 'imgs' :imgs, } return render(request, 'b/showimg.html' , content)
7.在a文件夹下,编辑urls.py文件 1 2 3 4 5 6 7 8 9 10 11 12 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文件,添加如下代码: 1 2 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media' ).replace('\\' , '/' )
9.在b文件夹下创建templates文件夹,再在templates文件夹下创建b文件夹,再在新创建的b文件夹下创建uploadimg.html文件,内容如下: 1 2 3 4 5 <form method ="POST" enctype ="multipart/form-data" > {% csrf_token %} <input type ="file" name ="img" > <button type ="submit" > 上传</button > </form >
10.在uploadimg.html同目录下创建showimg.html文件 1 2 3 {% 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:以上步骤仅仅是非常简单的图片上传与显示,更多复杂的图片上传显示问题,大家可以在此基础上修改。 标签: #Django
发表于2016-05-09 22:14:20,最后修改于2016-05-12 00:36:13。
本站文章欢迎链接分享,禁止全文转载。
« 上一篇 用Python编写新浪微博爬虫 下一篇 » 支付Spotify教程