python表单提交的两种方式_详解flask表单提交的两种方式
一.通用方式
通用方式就是使用ajax或者$.post来提交。
前端html
...
data
Submit  
将操作绑定
$(document).ready(function() {
MockTask.start();
});
MockTask ={
startId: "start_mock",
start: function(){
$('#'+this.startId).click(function (){
...var data = $('#data').val();
var form_data = JSON.stringify({
..."data": data
});
MockSubmit.createTask(form_data);
});
},
};
MockSubmit = {
createTask: function(data){
var url = "/mockservice";
$.post(url,data,function(result){
if (result.code != 'SUCC'){
alert("failed to create a new api.")
} else {
alert("succ");
}
});
}
};
function isEmptyString(info) {
if (info == null || info == undefined || info.length == 0){
return true;
}
return false
}
这样通过js来实现提交表单的功能,然后flask后端
@app.route("/mockservice",methods=['GET','POST'])
def MockController():
form = MockCreate()
if request.method == 'POST':
code = request.form['code']
api = request.form['api']
return ...
通用方式的好处就是在其他框架中也适用。而且也并不复杂。
二.比较正宗的flask方式
前端html:
...
data
Submit  
前端这时候可以不用绑定操作了,但需要新建一个form对象,用这种方式的好处就是flask有很多内置的方式帮你校验你的提交,一个字:省事!
class MockCreate(Form):
user_email = StringField("email address",[validators.Email()])
api = StringField("api",[Required()])
submit = SubmitField("Submit")
code = IntegerField("code example: 200",[Required()])
alias = StringField("alias for api")
data = TextAreaField("json format",[Required()])
后端这时候就要变成:
@app.route("/mockservice",methods=['GET','POST'])
def MockController():
form = MockCreate()
code = form['code']
api = form['api']
return render_template("testf.html",api=api,data=code)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
python表单提交的两种方式_详解flask表单提交的两种方式相关推荐
- vue动态设置文字布局方式_详解Vue动态添加模板的几种方法
动态添加模板需要收集原始数据的页面,这个时候我们需要很多原始数据收集模板,下面给大家详解Vue 动态添加模板的几种方法,希望对你学习这方面知识有所帮助. 通常我们会在组件里的 template 属性定 ...
- js求两圆交点_详解js实现线段交点的三种算法
本文讲的内容都很初级, 主要是面向和我一样的初学者, 所以请各位算法帝们轻拍啊 引用 已知线段1(a,b) 和线段2(c,d) ,其中a b c d为端点, 求线段交点p .(平行或共线视作不相交) ...
- sh执行文件 参数传递_详解shell中脚本参数传递的两种方式
方式一:$0,$1,$2.. 采用$0,$1,$2..等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${ ...
- js定义全局变量 vue页面_详解Vue.js 定义全局变量的几种实现方式
详解Vue.js 定义全局变量的几种实现方式 发布于 2020-8-11| 复制链接 本篇文章主要介绍了VUE 全局变量的几种实现方式,小妖觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小妖 ...
- python怎么下载图片怎么保存到本地_详解Python下载图片并保存本地的两种方式
一:使用Python中的urllib类中的urlretrieve()函数,直接从网上下载资源到本地,具体代码: import os,stat import urllib.request img_url ...
- 详解python运行三种方式_详解python运行三种方式
方式一 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: $ p ...
- python中有那几种赋值_详解Python列表赋值复制深拷贝及5种浅拷贝
概述 在列表复制这个问题,看似简单的复制却有着许多的学问,尤其是对新手来说,理所当然的事情却并不如意,比如列表的赋值.复制.浅拷贝.深拷贝等绕口的名词到底有什么区别和作用呢? 列表赋值 # 定义一个新 ...
- python 窗口控件变大变小_详解:用Python+AutoIt实现界面工具开发过程
前言: 今天为大家带来的内容是,详解:Python+AutoIt实现界面工具开发过程!(部分代码用图片方式呈现出来,方便各位观看与收藏) AutoIt简述 AutoIt一个使用类似BASIC脚本语言的 ...
- mysql表空间过大_详解MySQL表空间以及ibdata1文件过大问题
ibdata1文件过大 原因分析 ibdata1是一个用来构建innodb系统表空间的文件,关于系统表空间详细介绍参考MySQL官网文档 上面是一个数据库的ibdata1文件,达到了780多G,而且还 ...
最新文章
- 习题2-5 求平方根序列前N项和 (15 分)
- ubuntu16.04下ROS最新换源方法,解决Hash sum mismatch 问题
- 能“预测未来”的AI来了!谷歌DeepMind推Dreamer,训练时间减半
- 移动vue项目,启动错误:Module build failed: Error: No PostCSS Config found in:
- 【笔记篇】C#笔记1
- (Q 2)netstat命令 检测TCP/IP 网络链接是否存在异常
- atlas mysql 读写分离_MySQL读写分离工具Atlas
- 算法导论水壶问题(第三版第八章思考题8-4)
- 搭建一个简单的Spring boot+maven项目
- Spring:@AutoConfigurexxx注解-控制配置类的加载顺序
- Redis简单入门认识
- 爬虫中无头浏览器如何选择
- python画航线图_pyecharts绘制geo地图
- 计算机网络中sep是什么意思,SEP系统介绍及实施方案介绍.ppt
- 接连倒闭失联的背后 传统健身房生意为什么突然就不行了?
- JS买卖股票的时机含手续费 LeetCode714
- Unity+高通Vuforia SDK——AR
- html、css 实现一个漂亮的表格
- TLP:一个可以延长 Linux 笔记本电池寿命的高级电源管理工具
- k8s yaml资源清单格式