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

天津在哪做网站免费网站空间怎么

天津在哪做网站,免费网站空间怎么,黑河市网站建设公司,一般做网站是在什么网站找素材在django中实现文件上传有三种方法可以实现#xff1a; 自己手动写使用Form组件使用ModelForm组件 其中使用ModelForm组件实现是最简单的。 1、自己手写 先写一个上传的页面 upload_file.html enctypemultipart/form-data 一定要加这个#xff0c;不然只会上传文件名…在django中实现文件上传有三种方法可以实现 自己手动写使用Form组件使用ModelForm组件 其中使用ModelForm组件实现是最简单的。 1、自己手写 先写一个上传的页面 upload_file.html enctypemultipart/form-data 一定要加这个不然只会上传文件名不会上传文件内容。 {% extends layout.html %}{% block content %}div classcontainerform methodpost enctypemultipart/form-data{% csrf_token %}input typetext nameusernameinput typefile nameavatarinput typesubmit value提交/form/div{% endblock %}在写一个视图函数 在这个视图函数中如果是get 请求就展示上传的页面如果是post 请求就将获取到的文件对象在项目跟目录创建一个相同的文件名保存起来。 from django.shortcuts import render, HttpResponsedef upload_list(request):if request.method GET:return render(request,upload_file.html)print(request.POST) # 请求体中的数据print(request.FILES) # 请求发过来的文件 {}file_object request.FILES.get(avatar)f open(file_object.name,modewb)for chunk in file_object.chunks():f.write(chunk)f.close()return HttpResponse(上传成功)简单的页面效果 2、使用Form组件 提交页面时 用户输入数据 文件输入不能为空报错 Form生成HTML标签 typefile表单的验证form.cleaned_data 获取数据 文件对象 将上传的图片保存到static目录并且在数据库保存文件存储的路径 models.py 中创建一个数据库 class Boss(models.Model):保存图片name models.CharField(verbose_name姓名,max_length32)age models.IntegerField(verbose_name年龄)img models.CharField(verbose_name图片,max_length128)视图函数 from django.shortcuts import render, HttpResponse from django import forms import os from app01 import modelsclass UpForm(forms.Form):name forms.CharField(label姓名)age forms.IntegerField(label年龄)img forms.FileField(label头像)def upload_form(request):if request.method GET:form UpForm()return render(request,upload_form.html,{form:form})form UpForm(datarequest.POST,filesrequest.FILES)if form.is_valid():# 1、读取图片内容写入文件夹中并获取文件的路径image_object form.cleaned_data.get(img)# 创建文件路径db_file_path os.path.join(static,img,image_object.name)file_path os.path.join(app01,db_file_path)f open(file_path,modewb)for chunk in image_object.chunks():f.write(chunk)f.close()# 2、 将图片文件路径写入到数据库models.Boss.objects.create(nameform.cleaned_data[name],age form.cleaned_data[age],img db_file_path,)return HttpResponse(上传成功)return render(request,upload_form.html,{form:form})upload_form.html 文件内容 {% extends layout.html %}{% block content %}div classcontainerdiv classpanel panel-defaultdiv classpanel-heading图片上传/divdiv classpanel-bodyform methodpost enctypemultipart/form-data novalidate{% csrf_token %}{% for field in form %}div classform-grouplabel {{ field.label }}/label{{ field }}span stylecolor:red{{ field.errors.0 }}/span/div{% endfor %}button typesubmit classbtn btn-primary提交/button/form/div/div/div {% endblock %}页面效果 3、使用ModelForm组件 使用ModelForm的前提条件要设置好media 目录 启用media 目录 在django的开发中有两个特殊的文件夹 static , 存放静态文件的路径包括 css、js 、项目图片。media , 用户上传的数据目录。 1、在urls.py中的配置 from django.urls import path,re_path from django.views.static import serve from django.conf import settingsurlpatterns [re_path(r^media/(?Ppath.*)$, serve, {document_root:settings.MEDIA_ROOT},namemedia),]2、在settings.py中配置 import osMEDIA_ROOT os.path.join(BASE_DIR,media) MEDIA_URL /media/ models.py 重新创建一个表来存储文件路径 class City(models.Model):城市name models.CharField(verbose_name名称,max_length32)count models.IntegerField(verbose_name人口)# 本质上数据库也是charField ,自动保存数据upload_to 表示会保存到media目录下的cityimg models.FileField(verbose_nameLogo,max_length128,upload_tocity/)视图函数 通过 form.save() django 自动将文件存储到media目录下的city目录并且把文件路径保存到数据库 from django.shortcuts import render, HttpResponse from app01 import models from app01.utils.bootstrap import BootStrapModelFormclass UploadModelForm(BootStrapModelForm):bootstrap_exclude_name [img]class Meta:model models.Cityfields __all__def upload_modelform(request):if request.method GET:form UploadModelForm()return render(request,upload_form.html,{form:form})form UploadModelForm(datarequest.POST,filesrequest.FILES)if form.is_valid():form.save()return HttpResponse(上传成功)return render(request, upload_form.html, {form: form})upload_form.html {% extends layout.html %}{% block content %}div classcontainerdiv classpanel panel-defaultdiv classpanel-heading图片上传/divdiv classpanel-bodyform methodpost enctypemultipart/form-data novalidate{% csrf_token %}{% for field in form %}div classform-grouplabel {{ field.label }}/label{{ field }}span stylecolor:red{{ field.errors.0 }}/span/div{% endfor %}button typesubmit classbtn btn-primary提交/button/form/div/div/div {% endblock %}效果 数据库存储的
http://www.hkea.cn/news/14553113/

相关文章:

  • 企业营销型网站制作wordpress如何修改主题
  • 用php做的企业网站作业做气球装饰可以上哪些网站
  • 做外文H网站网站集约化建设意义
  • 北京市城市建设档案馆网站西安网站制作价格
  • 政务公开网站建设整改方案简单的网站开发的软件
  • 包头市住房和城乡建设局网站寻花问柳一家专门做男人的网站
  • 什么是网站收录红鹰微信管理系统
  • 服装网站开发项目计划书找人做彩票网站多少钱
  • 东莞整站排名企业logo图片
  • 海南建设银行招聘网站什么用来编写网页
  • 电商网站开发企业网站备案查询验证码错误
  • 做视频网站需要什么空间吗7k7k小游戏大全网页版
  • 南宁有什么做网站的好公司网站建设龙华
  • 用dw怎么做登录页面的网站室内设计效果图展板
  • 网站上线要多久软件开发培训机构去学
  • 郑州建网站企业北京网站建设首页
  • 自做网站打开速度慢网站 弹出
  • 做中文网站的公司网站内页百度提交口
  • 中企动力科技股份有限公司上海第一分公司长沙好的网站优化品牌
  • wordpress网站开发代码导视设计ppt
  • 网站如何自动手机版萝岗高端网站建设
  • 兼职做ps网站六六seo基础运营第三讲
  • 在线制作logo免费生成器东营做网站优化的公司
  • 怎么制作网站的链接宏seo工作流程图
  • 泸西县住房和城乡建设局网站linux 做网站
  • 网站改版需要注意什么谷德设计网景观设计
  • 厦门模板建站平台广州购网站建设
  • 个人备案网站做商业网站建设要做哪些工作室
  • 网站空间服务器续费网站开发需要会什么
  • 烟台网站建设yt四川省建十一公司官网