flask在同一个页面提交多个form请求

1.首先,在写网站的后台管理页面的时候,发现,我要在同一个页面上提交两个表单,或者是可以单一的的提交其中一个,其中一个表单可以没有数据也可以有数据,即两者之间的提交是没有什么鸟关系的。

随手写的表单

    <p>活动</p>
    <form method="post" action="/admin_event/" name="event">
        标题
        <input name="event_title" value="" type="text">
        内容
        <input name="event_content" value="" type="text">
        开始时间
        <input name="start_time" value="" type="datetime">
        结束时间
        <input name="end_time" value="" type="datetime">
        <button type="submit" value="">提交</button>
    </form>
<p>资源</p>
    <form method="post" action="/admin_resource/" name="resource">
        资源标题
        <input name="resource_title" value="" type="text">
        资源描述
        <input name="description" value="" type="text">
        下载链接
        <input name="download_url" value="" type="text">

        <button type="submit">提交</button>
    </form>

这里的重点是form标签里一定要填写action属性和name属性。

@app.route(‘/admin_event/‘,methods=[‘GET‘,‘POST‘])
def admin_event():
    if request.method==‘GET‘:
        return render_template(‘admin.html‘)
    else:
        event_title = request.form.get(‘event_title‘)
        event_content = request.form.get(‘event_content‘)
        start_time = request.form.get(‘start_time‘)
        end_time = request.form.get(‘end_time‘)
        print(event_title)
        event = Event(title=event_title, content=event_content, start_time=start_time, end_time=end_time)
        db.session.add(event)
        db.session.commit()
        return render_template(‘admin.html‘)

@app.route(‘/admin_resource/‘,methods=[‘GET‘,‘POST‘])
def admin_resource():
   if request.method==‘GET‘:
       return render_template(‘admin.html‘)
   else:
       resource_title = request.form.get(‘resource_title‘)

       description = request.form.get(‘description‘)
       download_url = request.form.get(‘download_url‘)
       resources = Resource(title=resource_title, content=description, download_url=download_url)
       db.session.add(resources)
       db.session.commit()
       return render_template(‘admin.html‘)

通过所提交 的地址不同,去向不同的视图函数

学习笔记

原文地址:https://www.cnblogs.com/s42-/p/9954854.html

时间: 2024-10-07 04:36:21

flask在同一个页面提交多个form请求的相关文章

asp.net.mvc 中form表单提交控制器的2种方法和控制器接收页面提交数据的4种方法

MVC中表单form是怎样提交? 控制器Controller是怎样接收的? 1..cshtml 页面form提交 (1)普通方式的的提交 (2)特殊方式提交 2.控制器处理表单数据的四种方法 方法1:使用传统的Request请求数据 方法2:Action参数名与表单元素name值一一对应 方法3:从MVC封装的FormCollection容器中读取 方法4:使用实体作为Action参数传入,前提是提交的表单元素名称与实体属性名称一一对应 控制器源码 using MvcStudy.Models;u

form 无刷新页面提交表单

表单可实现无刷新页面提交,无需页面跳转,如下: 通过一个隐藏的iframe实现, form表单的target设置为iframe的name名称,form提交目标位当前页面iframe则不会刷新页面 <form action="/url.do" method="post" target="targetIfr"> <input type="text" name="name"/> </

系统管理模块_岗位管理_改进_使用ModelDroven方案_套用美工写好的页面效果_添加功能与修改功能使用同一个页面

改进_使用ModelDroven方案 @Controller @Scope("prototype") public class RoleAction extends ActionSupport implements ModelDriven<Role>{//把ModelDriven放到栈顶,帮我们封装参数 //在Action里面要用到Service,用注解@Resource,另外在RoleServiceImpl类上要添加注解@Service @Resource private

一个页面提交多个表单

1 办法1.同一个页面中建立两个表单 各自提交: 2 3 <form action="?" name="form1" id="form1"> 4 <!-- 表单内容 --> 5 <input type="submit" /> 6 </form> 7 <form action="?" name="form1" id="form

js实现无刷新表单提交文件,将ajax请求转换为form请求方法

最近在做项目的时候遇到一个需要上传文件的需求,因为ajax请求是无法上传二进制文件流的,所以只能用form表单提交,而form提交有一个问题就是会使页面刷新,本文解决了form表单提交文件时页面刷新的问题. 一.无刷新实现form提交文件 将form的target指向为一个iframe就可以实现无刷新提交文件了,但关键是还需要看到后台返回的数据,所以还需要为该iframe注册一个回调函数,因为iframe和该页面在同域内,所以可以在iframe里可以调用该回调函数,就可以看到后台返回的数据了.实

servlet自动获取前端页面提交数据

servlet自动获取前端页面jsp提交数据 以下是本人在学习过程中,因前端页面提交参数过多,后台servlet封装实体类过于麻烦而写的一个工具类,应用于jsp/servlet数据提交后,基于MVC+MyBatis进行数据持久化的过程.这里只介绍页面到servlet(controller)提交数据封装对象的过程,MVC+MyBatis访问数据库不在这里介绍. 1.前端页面及代码 1)前端表单页面构建(用于测试简单构建的页面有点丑陋哦~) 2)前端jsp页面代码   这里使用了Ajax异步 get

常用的页面提交方式

本文来总结一下,常用的页面提交方式. 提到常用,大家就要注意了.如果你选用的方式不常用,那么你就该思量一下自己的设计或者程序了.还是要站在巨人的肩膀上,才能创造出好的东西. 其实,本文将要讲的几种方式都比较常用. 常用就是合适的时候,做合适的事情.合适的技术,用在合适的地方,就是好的设计:就像合适的时间,遇到合适的人一样心有灵犀. 方式一: 常用的form提交. 该种方式提交页面,页面会进行跳转.这种方式可以选择post提交方式,还是get提交方式,一般情况下,提交form通用post.这种方式

在input中回车后页面提交导致出现HTTP 错误 405.0 - Method Not Allowed

前些时间在做一个搜索功能时发现一个比较有意思的现象,场景是这样的:在一个模态窗口中是一个订单列表,页面的顶部有若干个状态筛选框和一个搜索关键字输入框,当焦点在关键字输入框时按回车,本来是对input的keyup事件做了监听,当发现是按了回车键时便自动提交搜索请求的,但输入关键字后按回车时页面竟然跳转了,并且出现"HTTP 错误 405.0 - Method Not Allowed无法显示您正在查找的页面,因为使用了无效方法(HTTP 谓词)"的错误,非常纳闷. 按照错误信息及现象(页面

Ajax表单提交插件jquery form

jQuery Form插件是一个优秀的Ajax表单插件,我们可以非常容易的使用它处理表单控件的值,清空和复位表单控件,附件上传,以及完成Ajax表单提交. jQuery Form有两个核心方法ajaxForm()和ajaxSubmit(),本文我们重点介绍ajaxSubmit()的应用. HTML 首先我们载入jquery库和jquery.form.js插件.jquery.form.js插件的官网地址:http://www.malsup.com/jquery/form/ <script type