阿里巴巴怎么做不花钱的网站,宿迁经济技术开发区,影视app制作教程,ppt做书模板下载网站有哪些内容目录
1.介绍
2.体验一下 3.配置参数#xff1a;
4.路由和URL
1.路由
2.动态路由#xff1a;
自定义转换器#xff1a; 3.使用自定义转换器 5.url_for函数
6.request参数
7.处理响应#xff1a;
1.重定向#xff1a;
2.返回json数据#xff1a; 3.返回模板…目录
1.介绍
2.体验一下 3.配置参数
4.路由和URL
1.路由
2.动态路由
自定义转换器 3.使用自定义转换器 5.url_for函数
6.request参数
7.处理响应
1.重定向
2.返回json数据 3.返回模板 flask中文文档
1.介绍
Flask 本身相当于一个内核其他几乎所有的功能都要用到扩展邮件扩展Flask-Mail用户认证Flask-Login数 据库Flask-SQLAlchemy都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入ORM、窗体验证工具文 件上传、身份验证等。Flask 没有默认使用的数据库你可以选择 MySQL也可以用 NoSQL。 其 WSGI 工具箱采用 Werkzeug路由模块模板引擎则使用 Jinja2。这两个也是 Flask 框架的核心。
2.体验一下
1.导入flask没有安装flask包的先安装一下pip install flask
from flask import Flaskapp Flask(__name__)app.route(/)
def hello_world(): return Hello World!if __name__ __main__:app.run() 3.配置参数
主要配置的有:数据库连接信息日志的配置信息自定义配置信息
1以对象的方式配置
from flask import Flaskapp Flask(__name__)class DefaultConfig(object):默认配置USER ROOTapp.config.from_object(DefaultConfig)app.route(/)
def hello_world():return Hello World!if __name__ __main__:app.run()
2.新建一个配置文件来配置新建一个文件setting.py里面写USER‘root形式的配置信息 app Flask(__name__)app.config.from_pyfile(setting.py)app.route(/)
def index():return hello worldif __name__ __main__:app.run()
3.从环境变量中加载 Flask使用环境变量加载配置的本质是通过环境变量值找到配置文件再读取配置文件的信息其使用方式为
app.config.from_envvar(环境变量名)
环境变量的值位配置文件的绝对路径先在终端中执行
export PROJECT_SETTING~/setting.py
app Flask(__name__)# silent参数True时表示环境变量中有没有值都不报错通知False表示没有值的时候报错通知
app.config.from_envvar(PROJECT_SETTING, silentTrue)app.route(/)
def index():return hello world
4.路由和URL
1.路由
就是上面的app.route(访问路径)在应用中url_map属性保存着整个Flask应用的路由映射信息可以通过整个读取路由信息
from flask import Flaskapp Flask(__name__)class DefaultConfig(object):默认配置USER ROOTapp.config.from_object(DefaultConfig)app.route(/)
def hello_world():print(app.url_map)# 遍历所有路由信息for rule in app.url_map.iter_rules():print(name{} path{}.format(rule.endpoint, rule.rule))return Hello World!if __name__ __main__:print(app.url_map)app.run() 2.动态路由
例如有一个请求访问的接口地址为 /users/123 其中123实际上为具体的请求参数表明请求123号用户的信 息。此时如何从url中提取出123的数据 Flask不同于Django直接在定义路由时编写正则表达式的方式而是采用转换器语法
app.route(/users/user_id)
def user_info(user_id):return hello user {}.format(user_id)
这里的就是一个转换器默认位字符串类型也就是整个括号里面的数据以字符串格式进行匹配并以字符串位数据类型user_id为参数名传入视图函数(def user_info)
那不是字符串格式的怎么进行匹配呢flask中提供了常用的有
DEFAULT_CONVERTERS {default: UnicodeConverter,string: UnicodeConverter,any: AnyConverter,path: PathConverter,int: IntegerConverter,float: FloatConverter,uuid: UUIDConverter,
}语法匹配类型匹配参数
app.route(/users/int:user_id)
def user_info(user_id):return hello user {}.format(user_id)
自定义转换器
比如需要匹配邮箱手机号等这些Flask中没有提供的转换器那么就需要自定义一个了
1.创建转换器类保存匹配时的正则表达式
2.将自定义的转换器保存到Flask中
from werkzeug.routing import BaseConverter
from flask import FlaskappFlask(__name__)# 自定义转换器的时候需要继承BaseConverter
class MobileConverter(BaseConverter):regex r1[3-9]\d{9}# 将自定义的转换器加入到Flask应用中Flask应用保存转换器的地方在app.url_map.converters中
app.url_map.converters[monbile]MobileConverter 3.使用自定义转换器
app.route(/index/mobile:mobile_num)
def Mobile_data(mobile_num):return 受到一个手机号路由地址{}.format(mobile_num) 5.url_for函数
一般我们通过一个 URL 就可以执行到某一个函数。如果反过来我们知道一个函数怎么去获得 这个 URL 呢 url_for 函数就可以帮我们实现这个功能。 url_for() 函数接收两个及以上的参数他接收函数名作为第一个参数接收对应URL规则的命名参数如果还出 现其他的参数则会添加到 URL 的后面作为查询参数。
from flask import Flask
from flask import url_forappFlask(__name__)# 自定义转换器的时候需要继承BaseConverter
class MobileConverter(BaseConverter):regex r1[3-9]\d{9}# 将自定义的转换器加入到Flask应用中Flask应用保存转换器的地方在app.url_map.converters中
app.url_map.converters[monbile]MobileConverterapp.route(/index/mobile:mobile_num)
def Mobile_data(mobile_num):return 受到一个手机号路由地址{}.format(mobile_num)app.route(/)
def hello():return url_for(Mobile_data,mobile_num17888888888)# return /index/1788888888
6.request参数 我们都知道在请求网页的时候会有许多的请求方式比如getpost等等
在Flask中我们可以利用methods参数来指定接口的请求方式在定义路由的时候加入中国参数就可以了 get方式把请求参数放到为url的后面每个请求参数格式为参数名参数值。参数之间采用符号隔开。采用 的字符数据传输所以也叫明文的请求
post: 表单提交并且采用字节流的方式传递数据
app.route(/index/,methods[POST])
def index():return 主页app.route(/user_info/,methods[GET])
def index():return 展示页面
其他参数
如果想要获取其他地方传递的参数可以通过Flask提供的request对象来读取。 不同位置的参数都存放在request的不同属性中 例如 想要获取请求 /find?user_id1 中 user_id 的参数可以按如下方式使用
from flask import requestapp.route(/index/)
def index():get_idrequest.args.get(user_id)return 你传入的用户id为{}.format(get_id)
7.处理响应
1.重定向
就像你给一个链接我点击了后就跳转到那个链接地址了在这里你访问这个路由地址就跳转到百度去了
from flask import redirectapp.route(/index)
def index():return redirect(https://www.baoidu.com)
2.返回json数据
from flask import jsonifyapp.route(/index)
def index():json_data{user_name:张三,user_age:18}return jsonify(json_data) 3.返回模板
使用render_template方法渲染模板并返回
示例先写一个简单的html页面index.html
!DOCTYPE html
html langen
headmeta charsetUTF-8titleindex/title
/head
body
你好啊世界
br/{{ user_name }}
br/{{ user_age }}
/body
/html
flask代码
from flask import render_templateapp.route(/)
def index():user_name张三user_age18return render_template(index.html, user_nameuser_name,user_ageuser_age)持续更新点个赞呗 文章转载自: http://www.morning.trzzm.cn.gov.cn.trzzm.cn http://www.morning.lslin.com.gov.cn.lslin.com http://www.morning.wgzzj.cn.gov.cn.wgzzj.cn http://www.morning.gqbtw.cn.gov.cn.gqbtw.cn http://www.morning.xcjbk.cn.gov.cn.xcjbk.cn http://www.morning.pzss.cn.gov.cn.pzss.cn http://www.morning.clbgy.cn.gov.cn.clbgy.cn http://www.morning.ywpcs.cn.gov.cn.ywpcs.cn http://www.morning.rghkg.cn.gov.cn.rghkg.cn http://www.morning.kqzrt.cn.gov.cn.kqzrt.cn http://www.morning.rwzqn.cn.gov.cn.rwzqn.cn http://www.morning.lylkh.cn.gov.cn.lylkh.cn http://www.morning.gqcd.cn.gov.cn.gqcd.cn http://www.morning.tcfhs.cn.gov.cn.tcfhs.cn http://www.morning.lktjj.cn.gov.cn.lktjj.cn http://www.morning.qtxwb.cn.gov.cn.qtxwb.cn http://www.morning.sgbss.cn.gov.cn.sgbss.cn http://www.morning.qgbfx.cn.gov.cn.qgbfx.cn http://www.morning.xpwdf.cn.gov.cn.xpwdf.cn http://www.morning.kxqmh.cn.gov.cn.kxqmh.cn http://www.morning.jkcpl.cn.gov.cn.jkcpl.cn http://www.morning.wqpr.cn.gov.cn.wqpr.cn http://www.morning.gfrtg.com.gov.cn.gfrtg.com http://www.morning.qwnqt.cn.gov.cn.qwnqt.cn http://www.morning.zntf.cn.gov.cn.zntf.cn http://www.morning.jrqw.cn.gov.cn.jrqw.cn http://www.morning.ghjln.cn.gov.cn.ghjln.cn http://www.morning.vjwkb.cn.gov.cn.vjwkb.cn http://www.morning.sknbb.cn.gov.cn.sknbb.cn http://www.morning.kkrnm.cn.gov.cn.kkrnm.cn http://www.morning.srwny.cn.gov.cn.srwny.cn http://www.morning.sskns.cn.gov.cn.sskns.cn http://www.morning.rgxf.cn.gov.cn.rgxf.cn http://www.morning.rfdqr.cn.gov.cn.rfdqr.cn http://www.morning.ntyks.cn.gov.cn.ntyks.cn http://www.morning.jzlfq.cn.gov.cn.jzlfq.cn http://www.morning.wklmj.cn.gov.cn.wklmj.cn http://www.morning.npfrj.cn.gov.cn.npfrj.cn http://www.morning.jbtwq.cn.gov.cn.jbtwq.cn http://www.morning.jxltk.cn.gov.cn.jxltk.cn http://www.morning.rpljf.cn.gov.cn.rpljf.cn http://www.morning.zryf.cn.gov.cn.zryf.cn http://www.morning.knzmb.cn.gov.cn.knzmb.cn http://www.morning.gstmn.cn.gov.cn.gstmn.cn http://www.morning.ldcrh.cn.gov.cn.ldcrh.cn http://www.morning.fmry.cn.gov.cn.fmry.cn http://www.morning.lfcfn.cn.gov.cn.lfcfn.cn http://www.morning.xrrbj.cn.gov.cn.xrrbj.cn http://www.morning.dbsch.cn.gov.cn.dbsch.cn http://www.morning.pwsnr.cn.gov.cn.pwsnr.cn http://www.morning.hmwjk.cn.gov.cn.hmwjk.cn http://www.morning.mqfkd.cn.gov.cn.mqfkd.cn http://www.morning.ampingdu.com.gov.cn.ampingdu.com http://www.morning.mtgnd.cn.gov.cn.mtgnd.cn http://www.morning.qnbgh.cn.gov.cn.qnbgh.cn http://www.morning.jzfrl.cn.gov.cn.jzfrl.cn http://www.morning.njstzsh.com.gov.cn.njstzsh.com http://www.morning.jbblf.cn.gov.cn.jbblf.cn http://www.morning.lhzqn.cn.gov.cn.lhzqn.cn http://www.morning.nqpy.cn.gov.cn.nqpy.cn http://www.morning.nmyrg.cn.gov.cn.nmyrg.cn http://www.morning.pjwfs.cn.gov.cn.pjwfs.cn http://www.morning.mpnff.cn.gov.cn.mpnff.cn http://www.morning.mmynk.cn.gov.cn.mmynk.cn http://www.morning.bpmtj.cn.gov.cn.bpmtj.cn http://www.morning.mfmrg.cn.gov.cn.mfmrg.cn http://www.morning.hbqfh.cn.gov.cn.hbqfh.cn http://www.morning.wfyqn.cn.gov.cn.wfyqn.cn http://www.morning.smj78.cn.gov.cn.smj78.cn http://www.morning.dmlsk.cn.gov.cn.dmlsk.cn http://www.morning.rcrnw.cn.gov.cn.rcrnw.cn http://www.morning.txzmy.cn.gov.cn.txzmy.cn http://www.morning.rfwqt.cn.gov.cn.rfwqt.cn http://www.morning.xjqkh.cn.gov.cn.xjqkh.cn http://www.morning.hous-e.com.gov.cn.hous-e.com http://www.morning.thzwj.cn.gov.cn.thzwj.cn http://www.morning.kmwsz.cn.gov.cn.kmwsz.cn http://www.morning.zcckq.cn.gov.cn.zcckq.cn http://www.morning.grcfn.cn.gov.cn.grcfn.cn http://www.morning.rxfgh.cn.gov.cn.rxfgh.cn