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 admin from django.urls import path, register_converter, re_path from . import views urlpatterns = [ path('', views.index, name='index'), # 上传首页 path('upload/', views.upload), # 上传图片 ]
views.py
from django.shortcuts import render from .models import User,Article from django.http import HttpResponse from django.conf import settings from datetime import datetime import os from django.shortcuts import redirect, reverse import 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实现后台上传并显示图片功能
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Django实现后台上传并显示图片功能,包括了Django实现后台上传并显示图片功能的使用技巧和注意事项,需要的朋友参考一下 1.安装pillow pip install Pillow 2.创建app python manage.py startapp upload 3. project设定 settings.py urls.py 4. app 设定 models.py admin.
本文向大家介绍Django 实现图片上传和显示过程详解,包括了Django 实现图片上传和显示过程详解的使用技巧和注意事项,需要的朋友参考一下 第1章 新建工程和创建app 新建工程和创建app就不用贴出来了,我这里是测试图片上传的功能能否实现,所以项目都是新的,正常在以有的app下就可以 第2章 模型层: 2.1创建数据库 2.2初始化数据库: 第3章 修改配置文件 3.1settings中增加
本文向大家介绍Django Admin实现上传图片校验功能,包括了Django Admin实现上传图片校验功能的使用技巧和注意事项,需要的朋友参考一下 Django 为未来的开发人员提供了许多功能:一个成熟的标准库,一个活跃的用户社区,以及 Python 语言的所有好处。虽然其他 Web 框架也声称能提供同样的内容,但 Django 的独特之处在于它内置了管理应用程序 —— admin。 adm
本文向大家介绍js实现图片上传并预览功能,包括了js实现图片上传并预览功能的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了js实现图片上传并预览的具体代码,供大家参考,具体内容如下 思路:完成这个功能,首先需要美化上传图片的按钮,然后添加一个<img/>标签,在图片上传之后,用新图片的src替换原来<img/>标签中的src。 如下图所示,是原始的按钮样式: 美化步骤: (1)将上传图片
本文向大家介绍javascript实现图片上传前台页面,包括了javascript实现图片上传前台页面的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要通过代码分析javascript实现图片上传前台页面,废话不多说了,直接贴代码了。 代码示例一: 代码示例二: 当点击选择图片时加载该js。然后复制imageDialog,在image.js查找它,会发现里面跟这差不多的东西。这时就应该懂了,u
问题内容: 在我的HTML表单中,我输入了类型为file的文件,例如: 然后,通过单击该输入按钮来选择多个文件。现在,我想在提交表单之前显示所选图像的预览。如何在HTML 5中做到这一点? 问题答案: HTML5带有FileAPI规范,它使您可以创建应用程序,使用户可以在本地与文件交互;这意味着您可以加载文件并在浏览器中呈现它们,而无需实际上传文件。FileAPI的一部分是FileReader接口