问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

django框架页面上传图片三个注意的写法

发布网友 发布时间:2022-04-24 20:27

我来回答

2个回答

懂视网 时间:2022-05-10 22:15

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:以上步骤仅仅是非常简单的图片上传与显示,更多复杂的图片上传显示问题,大家可以在次基础上修改。

热心网友 时间:2022-05-10 19:23

在django里图片上传里,分为两种一种是在django的后台上传图片,以数据库的方式上传,另一种是在html页面以表单的方式上传
首先要先安装下这个包 pip install Pillow==3.4.1

setting里需要设置 上传的路径
MEDIA_ROOT=os.path.join(BASE_DIR,'static/media')
在model里要配置数据库
class PicTest(models.Model):
pic=models.ImageField(upload_to='booktest')
数据库里要有这个字段
在html 要写input type=’file’ 这个字段
在view里要写逻辑
还有涉及到要操作setting里的文件 需要导入设置的包
from django.conf import settings
import os
上传的图片都是保存在 /static/media/booktest/
接受提交的数据写到文件里
然后对提交的数据路径保存到 数据库里
在显示图片的时候 view.py get得到数据库里的路径地址
这里要注意 要是使用的all的方式获取的话 在html里就需要使用循环的方式来显示图片
然后在html <img url= "/static/media/{{p.pic}}

第一种以django后台的方式提交! 这种用的不多,在这里也简单说一下
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 苏轼白条猪肉上海市 上海宥世实业有限公司怎么样? 上海宥琨汽车租赁有限公司怎么样? 北宋词体发展的两个点 长相思 在长安(并非李白的) 小米手环丢了,能找回吗 上海甄宥文化传播有限公司怎么样? 上海震宥实业有限公司怎么样? 上海家宥机械制造有限公司招聘信息,上海家宥机械制造有限公司怎么样? 小米手环丢了,公交卡里面的钱怎么办呀?能退吗? 上海宥夕制冷工程设备有限公司怎么样? 小米手环丢了,有办法找到吗 一代名妓为什么会成为护国侠女,最后又为何在贫民窟中孤单离世? 小米手环丢了怎么解绑 宥酒科技是骗人的吗? 怎么才能找到丢失的小米手环? 有没有人知道无人售酒机有哪些?三两白好吗 小米手环丢了,也不知道在哪里,手机上也没有显示查找的功能,怎么办? 小米手环丢了和手机也断开连接了怎么找回来? 小米手环丢了,也不知道在哪里,手机上也没有显示查找的功能,怎么办_百 ... 上海看肠胃病多少钱 Django后台上传的图片前台怎么显示不出来?路径的问题怎样解决? 上海钧燊实业集团有限公司怎么样? python+django上传图片和视频方法一样吗 想入个教,可以忏悔的是什么教? django mongoengine FileField 上传图片问题,很急,高悬赏在线等,解决追 ... 三两白系列酒加盟好不好? 如何使用django restfulframework 实现文件上传 能宥烟酒好吗? 我使用django1.0从后台上传图片,在前台无法正常显示,路径正确。 django上传文件到远程服务器,怎么整 django 上传文件问题 django的imagefield怎么实现多文件上传 django怎么上传文件到数据库 django2.0往数据库存储图片的问题 Django后台admin ImageField用PIL怎么处理图片 如何使用Django获取从前端input表单上传过来的图片到FastDFS保存... django python上传文件有中文名称报错 怎么使django自定义文件上传widget django 框架开发的网站有哪些?