Django上传并显示图片
2024-08-24 12:13:31 226人阅读
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‘,)
4.在文件夹b下,编辑models.py,创建IMG类
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/‘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=http://www.mamicode.com/‘{{ 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上传并显示图片
param 更新 root string 程序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉:
投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。
×
https://www.u72.net/daima/v7au.html