时间:2021-05-23
1. 前台
templates/upload/upload.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><form action="/myupload/upload/" method="post" enctype="multipart/form-data"> {% csrf_token %} 名字:<input type="text" name="name"><br> 头像:<input type="file" name="avator"><br> <input type="submit" value="提交"></form></body></html>2. 项目设定
settings.py
#添加
ALLOW_UPLOAD = ['jpg', 'png', 'jpeg']
3.app设定
urls.py
from django.contrib import adminfrom django.urls import path, register_converter, re_pathfrom . import viewsurlpatterns = [ path('', views.index, name='index'), # 上传首页 path('upload/', views.upload), # 上传图片]views.py
from django.shortcuts import renderfrom .models import User,Articlefrom django.http import HttpResponsefrom django.conf import settingsfrom datetime import datetimeimport osfrom django.shortcuts import redirect, reverseimport hashlib# Create your views here.def index(request): users = User.objects.all() article = Article.objects.all() return render(request, 'myupload/index.html', locals())def upload(request): if request.method == 'GET': return render(request, 'myupload/upload.html') else: name = request.POST.get('name') pic = request.FILES.get('avator') media_root = settings.MEDIA_ROOT # media allow_upload = settings.ALLOW_UPLOAD # ALLOW_UPLOAD # path = 'upload/{}/{}/{}/'.format(datetime.now().year, datetime.now().month, datetime.now().day) '{:02d}'.format path = 'upload/{}/{}/{}/'.format(datetime.now().year,'{:02d}'.format(datetime.now().month), '{:02d}'.format(datetime.now().day)) full_path = media_root + '/' + path # full_path = 'media/upload/2019/12/20' if not os.path.exists(full_path): # 判断路径是否存在 os.makedirs(full_path) # 创建此路径 # 要不要改图片的名字 生成hash # 这块要不要判断图片类型 .jpg .png .jpeg # '/../../../myviews/setting.py' print(pic) print(full_path) print(full_path+pic.name) if pic.name.split('.')[-1] not in allow_upload: return HttpResponse('fail') with open(full_path + '/' + pic.name, 'wb') as f: for c in pic.chunks(): # 相当于切片 f.write(c) User.objects.create(name=name, avator=path + pic.name) return redirect('myupload:index')Django实现后台上传并显示图片功能
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了JavaScript实现单图片上传并预览功能的具体代码,供大家参考,具体内容如下单图片上传并实现预览.addPerson{l
本文实例讲述了vue实现的上传图片到数据库并显示到页面功能。分享给大家供大家参考,具体如下:1、点击上传图片,弹出选择图片选项框。页面代码:上传图片由于我们要设
考虑一个常见的用户上传头像的场景:点击按钮,弹出文件选择框选中图片并确认后直接上传图片实现这个功能,需要使用来添加文件,并实现上传功能。传统的上传文件是将放到中
本文实例为大家分享了axios实现文件上传功能的具体代码,供大家参考,具体内容如下前台页面:引入axiosjs文件HTML:上传图片JS:functionupl
如何把图片上传到数据库中并显示出来?upload.htm'上传页面.千花飞舞之图片上传 showimg.asp'显示图片.