当前位置: 首页 > news >正文

张裕网站建设的目标good建筑网站

张裕网站建设的目标,good建筑网站,建站推广,广州企业网站开发当 Django 处理文件上传时#xff0c;文件数据最终会被放置在 request.FILES 。 查看文档#xff1a;文件上传 | Django 文档 | Django Django工程如下#xff1a; 创建本地存储目录 在static/应用目录下创建uploads目录用于存储接收上传的文件 在settings.py 配置静态目…当 Django 处理文件上传时文件数据最终会被放置在 request.FILES 。 查看文档文件上传 | Django 文档 | Django Django工程如下  创建本地存储目录 在static/应用目录下创建uploads目录用于存储接收上传的文件 在settings.py 配置静态目录和上传目录 #指定静态文件路径 STATICFILES_DIRS[BASE_DIR / static ]#媒体文件本地存放路径 (如果是模块则必须指定哦) MEDIA_ROOT BASE_DIR / App/static/uploads 一、单个文件上传  1、models.py模型数据 from django.db import models# Create your models here. #存放用户图片数据表 class UserModel(models.Model):#用户名namemodels.CharField(max_length100,uniqueTrue)#图片iconmodels.CharField(max_length300)class Meta:db_tableuserverbose_name用户表verbose_name_pluralverbose_name注意迁移文件  2、upload.html页面 bodyh2单个文件上传/h2hr/form action methodpost enctypemultipart/form-data{% csrf_token %}p用户名:input typetext nameuname//pp头像:input typefile nameicon//ppbutton上传图片/button/p/form /body 注意from表单上传文件需要加 enctype”multipare/form-data”  必须是post请求。 3、views.py视图函数 #单个文件上传 def upload_1(request):if request.methodGET:return render(request,upload.html)elif request.methodPOST:#获取文件上传数据unamerequest.POST.get(uname)#获取文件iconrequest.FILES.get(icon)#上传到本地#调用方法-#337791d7-8ae5-4d97-b0d8-17dcc71fd94f.jpgfilenamegetUuidName()icon.name[icon.name.rfind(.):]#1.分段保存上传的路径file_pathos.path.join(settings.MEDIA_ROOT,filename)print(filename,file_path)#分段存入with open(file_path,ab) as f:#循环for part in icon.chunks():f.write(part) #写入f.flush() #清空缓存#2.将上传文件保存到数据表中userUserModel()user.nameunameuser.iconuploads/filenameuser.save()return render(request, upload.html)#通过uuid获取唯一的图片名 def getUuidName():return str(uuid.uuid4()) #随机生成名字#显示图片 def showImg(request,id):user UserModel.objects.get(pkid)return render(request, show.html,{user:user}) 4、urls.py路由 from django.contrib import admin from django.urls import path from App.views import *urlpatterns [path(index/, index), # 静态文件path(up1/, upload_1), # 文件上传path(show/int:id, showImg, nameshow), # 显示图片path(up2/, upload_2), # 文件上传morepath(show2/int:id, showImg2, nameshow2), # 显示图片morepath(admin/, admin.site.urls), ]5、show.html 显示上传的图片 !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title{% load static %}link relstylesheet href{% static css/show.css %} /head bodyh2显示图片/h2hr/{% load static %}p idp{{ user.name }}/ppimg src{% static user.icon %} /p /body /html 6、运行 二、多个文件上传  1、uploadmore.html页面 bodyh2多个文件上传/h2hr/form action methodpost enctypemultipart/form-data{% csrf_token %}p用户名:input typetext nameuname//p {# p头像:input typefile nameicon//p#}{{ form }}pbutton上传图片/button/p/form /body 2、views.py视图函数 ######################################################### #表单类 class FileUploadForm(forms.Form):filesforms.FileField(widgetforms.ClearableFileInput(attrs{multiple:True}))#多个文件上传 def upload_2(request):if request.method POST:#获取表单类formFileUploadForm(request.POST,request.FILES)#判断if form.is_valid():# 获取文件上传数据uname request.POST.get(uname)# 获取文件icons request.FILES.getlist(files)#保存多个文件名ll_names[]#循环图片for file in icons:#处理上传文件handle_uploaded_file(file)#保存文件名ll_names.append(uploads/ file.name)#列表转换成字符串strs ,.join(ll_names)# 2.将上传文件保存到数据表中user UserModel()user.name unameuser.icon strsuser.save()# print(ll_names, strs)return render(request, showmore.html)else:form FileUploadForm()return render(request, uploadmore.html, {form: form})def handle_uploaded_file(file): 文件保存处理 filePath os.path.join(settings.MEDIA_ROOT, file.name)# 保存文件with open(filePath, wb) as fp:for info in file.chunks():fp.write(info)fp.flush()#显示图片 def showImg2(request,id):user UserModel.objects.get(pkid)return render(request, showmore.html,{user:user}) 3、自定义模板标签和过滤器 文档https://docs.djangoproject.com/zh-hans/4.0/howto/custom-template-tags/ from django.template import Library register Library()register.filter(namesplit) def split(value, key):Returns the value turned into a list.return value.split(key) 注意必须重启服务器自定义模板才生效 4、showmore.html 显示上传的图片 !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title{% load static %}link relstylesheet href{% static css/show.css %} /head bodyh2显示更多图片/h2hr/{% load static %}p idp{{ user.name }}/p{# 开发服务器并不会自动重启 添加 templatetags 模块后你需要重启服务器这样才能在模板中使用 tags 和 filters。#} {# 加载自定义模板#} {% load myfilter %}{% with user.icon|split:, as details %}{% for im in details %}pimg src{% static im %} /p{% endfor %}{% endwith %}/body /html 5、运行 单个或多个文件上传查看文档还是容易实现
http://www.w-s-a.com/news/493613/

相关文章:

  • 拖拽式网站建设费用微网站怎么做的好名字
  • 长沙电信网站备案谷歌推广怎么做最有效
  • 网站建设与管理总结报告华为开发者联盟
  • 门诊部网站建设天空建筑网站
  • 扬州市城乡建设网站高端品牌鞋子有哪些牌子
  • 杭州网站建设招聘网长沙网络销售公司
  • 网站制作一年多少钱免费做电子章网站
  • 信誉好的营销网站建设徐州市铜山新区建设局网站
  • 建行网站关于我们山西seo和网络推广
  • 1m带宽做网站怎么样深圳网站建设制作开发公司
  • 网站建设 服务内容 费用郴州网站建设公司哪里有
  • 网站关键词重要性育才网站建设
  • 网络安全形势下怎么建设学校网站wordpress最新主题下载
  • 自己建设网站需要什么条件.gs域名做网站怎么样
  • 网上做公益的网站推广手机卡返佣平台
  • 网站是公司域名是个人可以南京建设银行官方网站
  • 做互联网网站的会抓百度网盟推广 网站
  • 商务网站开发设计结论微信报名小程序怎么制作
  • 网站建设销售简历wordpress七比2
  • 制作网站报价工程项目查询哪个网站
  • 深圳移动网站建设制作公司网站建设的认识
  • 网站建设脚本语言有哪些想开网店哪个平台好
  • 视频网站用什么做的好深圳的小程序开发公司
  • 南京网站定制开发商城网站免费模板
  • 青海学会网站建设公司照片组合拼图
  • 中国建设银行福清分行网站爱站网权重查询
  • 外贸通网站建设网站建设7个主要流程图
  • 元气森林网络营销方式医疗网站优化怎么做
  • 手机网站制作报价表做网站公司做网站公司
  • 湖州网站设计吉林网站建设哪家好