python bottle 制作表单_python bottle框架
python bottle框架
简介:
Bottle是一个快速、简洁、轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块。
Bottle框架大致可以分为以下部分:
路由系统,将不同请求交由指定函数处理
模板系统,将模板中的特殊语法渲染成字符串,值得一说的是Bottle的模板引擎可以任意指定:Bottle内置模板、mako、jinja2、cheetah
公共组件,用于提供处理请求相关的信息,如:表单数据、cookies、请求头等
服务,Bottle默认支持多种基于WSGI的服务
安装
pip install bottle
easy_install bottle
框架基本使用,例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from bottle import Bottle
root = Bottle()
@root.route('/index/')
def index():
return "Hello World"
root.run(host='localhost', port=8080)
效果:
一、路由系统
路由系统是的url对应指定函数,当用户请求某个url时,就由指定函数处理当前请求,对于Bottle的路由系统可以分为一下几类:
静态路由
动态路由, 正则表达式
请求方法路由, POST、GET、PUT等
二级路由, 分发至其它入口
1、静态路由
@root.route('/index/')
def index():
return "welcome index page"
2、动态路由
输入的URL跟参数
@root.route('/index/')
def index(pagename):
return pagename
输入的参数为数字
@root.route('/index/')
def index(id):
return str(id)
正则表达式
@root.route('/index/')
def index(name):
return name
静态文件
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from bottle import Bottle, static_file
root = Bottle()
@root.route('/index/')
def index(path):
return static_file(path, root='E:\static')
root.run(host='localhost', port=8080)
3、请求方法路由
@root.route('/index/', method='POST')
def index():
return "post"
@root.get('/index/')
def index():
return "get"
@root.post('/index/')
def index():
return "post"
@root.put('/index/')
def index():
return "put"
@root.delete('/index/')
def index():
return "delete"
4、二级路由
index.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from bottle import template, Bottle
from bottle import static_file
root = Bottle()
@root.route('/index/')
def index():
return template('Root {{name}}!', name="wang")
import sub_index01
import sub_index02
root.mount('index01', sub_index01.index01_obj)
root.mount('index02', sub_index02.index02_obj)
root.run(host='localhost', port=8080)
sub_index01.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from bottle import Bottle
index01_obj = Bottle()
@index01_obj.route('/sub_index01/', method='GET')
def index():
return "sub_index01"
sub_index02.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from bottle import Bottle
index02_obj = Bottle()
@index02_obj.route('/sub_index02/', method='GET')
def index():
return "sub_index02"
访问主页
访问sub_index01子应用和sub_index02子应用
python bottle 制作表单_python bottle框架相关推荐
- 用HTML制作表单表格能学到什么,Html学习之十七(表格与表单学习--排行版制作)...
表格与表单01 table{ width: 300px; height: 40px; margin: 100px auto; border-collapse: collapse; } .th2{ fl ...
- 什么平台制作表单工具效率高?
目前,低代码开发平台在很多行业中得到了应用和推广.如果需要制作表单工具,还依然用传统的表单工具来制作表单,效率不仅得不到提升,而且办公自动化发展步伐也将缓慢发展.那么,借助什么样的平台可以让制作表单工 ...
- html如何制作一个漂亮的表格?+ 列表制作 + 表单制作(干货!直接收代码)
https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 目录 html如何 ...
- Axure9制作表单
第一步,首先拖动一个中继器在面板: 第二步,双击中继器,拖动一个文本和一个输入框: 第三步,还原页面,在右侧样式中,添加几行: 第四步,在样式中,设置间距和布局: 第五步,选择交互页面,选中 文本标签 ...
- iReport关于page header制作表单明细模板,textfield与staticText不相容的问题解决
这个星期上司给了我一个关于使用iReport制作车辆使用明细报表的任务.在毫无使用过这个组件的前提下,我凭着自己贫乏的知识与经验,在网上相关解决方案资料严重缺失的情况下,通过艰苦卓绝的思考与锲而不舍的 ...
- 如何扫码填写数据?在线制作表单二维码的方法
二维码填写表单是现在很常见的一种方式,这种方法对比以前纸质的信息收集,更加的简单快捷,能够有效的提高效率.通过二维码生成器(免费在线二维码生成器-二维码在线制作-音视频二维码在线生成工具-机智熊二维码 ...
- python制作考试系统_python测试框架数据生成工具最全资源汇总
xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...
- python flask表单语法_Flask框架如何使用表单
每个web应用都需要使用表单来采集用户数据.现在让我们使用Flask框架创建一个简单的表单来收集用户的基本信息,例如名称.年龄.邮件.兴趣爱好等,我们将这个模板文件命名为bio_form.html. ...
- java_web1:基本标签、form表单、frameset框架标签、CSS样式、javascript、servlet
前端三剑客: html,css,js(javascript) html: Hyper Text Markup Language:超文本标记语言 针对字体,图片,视频,音频等等进行操作,设置字体颜色,大 ...
最新文章
- GitHub使用指南——建立仓库、建立文件夹、上传图片详细教程
- 微软宣布加入 OpenJDK,打不过就改变 Java 未来!
- python类装饰器详解-python 中的装饰器详解
- 怎么用计算机算亩数,怎样用手机测量亩数?
- [NOI2012(bzoj2879)(vijos1726)]美食节 (费用流)
- C++11 新特性 —— 关键字noexcept
- Apache Log4j2远程代码执行漏洞攻击,华为云安全支持检测拦截
- 单因素方差分析[转载]
- 【kafka】 Error when handling request Name: FetchRequest cannot compare its segment info since it only
- 【less-11】基于SQLI的POST字符型SQL注入
- ubuntu下JNI之HelloWorld相互传String值
- Linux服务器创建及维护记录
- 十一、Oracle学习笔记:高级关联查询
- 2021测试开发面试题大全及答案(包含测试基础|接口测试|自动化测试...)【289页】
- mysql basemapper_BaseMapper和继承
- [BZOJ]4699: 树上的最短路 特殊技巧的最短路
- ubuntu 操作系统的目录结构
- 如何右键菜单添加命令提示符_在右键菜单顶部添加过滤器命令
- 复合索引 /多列索引 /联合索引 /组合索引?????
- bandit(13-34)