分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

django框架 ?input 文本框 单选框 多选框 上传文件 等数据传输后台的程序 request.getlist接收多个结果 ?obj.chunks 用于文件传输 ?enctype="multipart/form-data文件传输必备表头

发布时间:2023-09-06 02:04责任编辑:沈小雨关键词:django

在上一个博客中,我们学习了如果创建django,这里我们主要讲如何把数据传给后台

在url文件中, 从app01中导入views, 以及创建url(r‘^login/‘, views.login)

from django.contrib import adminfrom django.conf.urls import urlfrom app01 import ?viewsurlpatterns = [ ???url(r‘^admin/‘, admin.site.urls), ???url(r‘^login/‘, views.login),]

接下来在app01.views中的login函数进行操作

简要说明: 当第一次进入views.login的方式是get, 因此只需要做一个跳转到login.html 

当login.html 提交表单返回到views.login时,这时的方式就是post,通过if语句对两者进行区分

from django.shortcuts import render# Create your views here.def login(request):
???#第一次直接跳转到login.html,等待用户的操作 ???if request.method == ‘GET‘: ???????render(request, ‘login.html‘) ???elif request.method == ‘POST‘: #接收用户返回时的操作
???#接收name=‘gender‘ 里的value信息 ???# gender = request.POST.get(‘gender‘) ???# print(gender)

??
???#接收name=‘gender‘里的value信息,getlist常用于接收多个信息,如多选框 ???# gender = request.POST.getlist(‘gender1‘) ???# print(gender)



??????????# city = request.POST.get(‘city‘) ???# print(city)
????# request.FILES.get 主要用于接收name=‘fafa‘的文件
???#用循环的方式接收 文件的chunks片段
 ???????import os
 ???????obj = request.FILES.get(‘fafa‘) ???????print(obj)
???????file_path =obj.name ???????f = open(file_path, mode=‘wb‘) ???????for i in obj.chunks(): ??????????f.write(i) ???????f.close() ???return render(request, ‘login.html‘)

html文件,注意在传输文件时需要在form中加入

enctype="multipart/form-data"

在传递单选多选下拉框时name是相同的, 用value值的不同来进行区分

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Title</title></head><body> ???<form action="/login/" method="post" enctype="multipart/form-data"> ???????<p> ???????<input type="text" name="username"> ???????<input type="text" name="pwd"> ???????<input type="text" name="email"> ???????</p> ???????<p> ???????????男:<input type="radio" name="gender" value="1"> ???????????女:<input type="radio" name="gender" value="2"> ???????????张扬:<input type="radio" name="gender" value="3"> ???????</p> ???????<p> ???????????男:<input type="checkbox" name="gender" value="11"> ???????????女:<input type="checkbox" name="gender" value="22"> ???????????张扬:<input type="checkbox" name="gender" value="33"> ???????</p> ???????<p> ???????????<select name="city"> ???????????????<option value="sh">上海</option> ???????????????<option value="xm">厦门</option> ???????????????<option value="gj">广州</option> ???????????</select> ???????</p> ???????<p> ???????????<input type="file" name="fafa"> ???????</p> ???????<input type="submit" value="提交"> ???</form></body></html>

django框架 ?input 文本框 单选框 多选框 上传文件 等数据传输后台的程序 request.getlist接收多个结果 ?obj.chunks 用于文件传输 ?enctype="multipart/form-data文件传输必备表头

原文地址:https://www.cnblogs.com/my-love-is-python/p/9339045.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved