好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Django上传并显示图片实例

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_literals
from django.db import models
# Create your models here.
class 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 render
from b.models import IMG
# Create your views here.
def 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 url
from django.contrib import admin
from b import views
from django.conf.urls.static import static
from django.conf import settings


urlpatterns = [
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上传并显示图片实例的详细内容...

  阅读:49次

上一篇: pandas基础

下一篇:Python之re操作实例教程