Python 使用 Flask框架记录
Python 使用 Flask框架记录
1、安装Flask
Flask依赖两个外部库,Werkzeug和Jinja2,Werkzeug是一个WSGI(服务器网关接口)。Jinja2时负责渲染模板。在安装Flask之前需要安装这俩个外部库,最简单的安装方式是使用Vritualenv创建虚拟环境。
1.1、安装虚拟环境
pip install virtualenv
安装完成后 ,检测其的版本
virtualenv --version
1.2 、创建虚拟环境
virtualenv venv
1.3 、激活虚拟环境
venv\Scripts\activate
1.4、安装Flask
pip install flask
查看其安装的包
pip list --format columns
至此已经安装好了Flask以及其需要的依赖库。
2、使用Flask
2.1、输出一个 hello word
from flask import Flaskapp = Flask(__name__) #创建flask对象@app.route('/')
def hello_world():return "hello world"if __name__ == '__main__':app.run()
2.2、开启调试模式
又两种方式开启调试模式
app.debug = True
app.run或者
app.run(debug=True)
2.3、flask 的路由
在Flask中提供@app.route()修饰器,会把修饰的函数注册成为路由
2.3.1、给url 添加变量部分
@app.route('/user/<username>')
def show_username(username):return 'User %s' % username
# 规则可以用<converter:variable_name># 定义可变参数的类型 定义参数是整形
@app.route('/post/<int:post_id>')
def show_post(post_id):return 'post_id %s' % post_id
2.3.2、构造url
Flask可以匹配url,也可构造url即为生成一个url,可以用url_for()来给指定的函数构造url。此方法可以返回show_post函数 url的信息
@app.route('/url/')
def get_url():return url_for('show_post', post_id=2)
2.3、设置Http的方法
在装饰其上,使用 methon=[]可以设置http请求的方法
@app.route('/login', methods=['GET', 'POST'])
3、静态文件&渲染模板
在项目中创建一个static的文件夹 ,将静态文件放到该文件夹中,在html中使用url_for生成路径。
flask会在模板文件中找html,一般会在templates文件夹下去找。
相关代码如下
from flask import Flask, url_for, request, render_templateapp = Flask(__name__) #创建flask对象@app.route('/')
def hello_world():return render_template('index.html')if __name__ == '__main__':app.run(debug=True)
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="{{ url_for('static',filename='style.css') }}">
</head>
<body><h1 id="eee">sss</h1>
</body>
</html>
#eee{color:red;
}
4、Jinja2模板渲染语言
{{name}} 获取name的值
{{mylist[1]}}获取集合中的值
{{myobj.some()}} 获取方法返回值
{% if %} -- {% else %}--{% endif %} 控制语句
{% for comment in comments %} --{% endfor %} 循环语句
Jinja2中还提供一些过滤器,具体请查。
Jinja2可以继承模板文件用于多出使用相同的代码。
相关文章:

java8学习之Lambda表达式深入与流初步
Lambda表达式深入: 在上一次【http://www.cnblogs.com/webor2006/p/8135873.html】中介绍Lambda表达式的作用时,其中说到这点: 如标红处所说,既然Lambda表达式是一个对象,而且必须依附于一类特别的对象类型叫函数式接口…

Javascript与正则表达式个人总结与收录--高级篇
一、正则表达式中的量词 贪婪量词: 先看整个字符串是不是一个匹配。如果没有发现匹配,它去掉最后字符串中的最后一个字符,并再次尝试。如果还是没有发现匹配,那么再次去掉最后一个字符串,这个过程会一直重复直到发现一…

第二十五章 面向对象------封装、内置函数、反射、动态导入
1、封装 什么是封装? 1.对外部隐藏内部的属性,以及实现细节,给外部提供使用的接口 注意:封装有隐藏的意思,但不是单纯的隐藏 学习封装的目的:就是为了能够限制外界对内部数据的访问 python中属性的权限分为…

STL vector list deque区别与实现
1 vector 向量 相当于一个数组 在内存中分配一块连续的内存空间进行存储。支持不指定vector大小的存储。STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacituy()函数返回的大小,当超过此分配的空间…

pigeon 介绍
https://github.com/dianping/pigeon Pigeon开发指南 Pigeon是一个分布式服务通信框架(RPC),在美团点评内部广泛使用,是美团点评最基础的底层框架之一。 主要特色 除了支持spring schema等配置方式,也支持代码annotati…

docker 安装使用 mysql
1、下载mysql镜像 docker pull mysql:5.7 2、运行mysql docker run --name my_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORDXYBB_1314 -d mysql:5.7 参考: https://blog.csdn.net/jiangyu1013/article/details/79958410 https://www.cnblogs.com/limingxie/p/…

国内第一部IT治理综合图书问世
国内第一部全面阐述企业IT治理理念与实践的图书《中国企业的IT治理之道》于2010年3月由清华大学出版社正式出版发行。对国内的企业来说,IT治理并不是一个陌生的词汇。对于什么是IT治理?什么样的治理才是最优的?如何构建最适合企业的IT治理机构…

oracle终止用户会话
1.创建两个测试用户进行实验 执行命令如下: create user test1 identified by 1; create user test2 identified by 1; grant dba to test1; grant dba to test2; 如下图,我创建了两个用户,并授予两个用户dba角色。 2,windows下使用cmd连接or…

正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码......
当我在窗体初始化的时候,调用了一个外部的dill时,它就不知什么原因的 抛出一个“正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码”的异常,程序就卡掉了,在网上查了查,相关说明如下:.NET2.0中增加…

Nginx在windows下常用命令
cmd 进入Nginx解压目录 执行以下命令 start nginx : 启动nginx服务 nginx -s reload :修改配置后重新加载生效 nginx -s reopen :重新打开日志文件nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确--------------------- 验证配置是否正确: n…

微信小程序使用npm 进行下载构建组价
1、进入小程序根目录 构建前微信小程序目录 使用npm 初始化命令进行初始化小程序目录 npm init -y 构建后的目录为 构建完成后 如何进行使用 {"usingComponents": {"van-notice-bar": "/miniprogram_npm/vant-weapp/notice-bar/index"} }如果提…

CorelDRAW快捷键搜集
02. 将CorelDRAW中的标准工具列除去,标准工具列比鸡肋还无味,除去可增大可视面积.03. CorelDARW 9 的段落文字并非不能转成曲线,方法并不止一种,可到Google搜索相关方法.04. 熟练使用CorelDARW 9 中的F2/F3/F4 比按放大镜爽又能节约相当多的时间05. CorelDARW 9 中Altaa是个相当…

spring cloud微服务治理eureka、hystrix、zuul代码例子
spring cloud微服务中台服务代码例子,包括eureka、hystrix、zuul https://github.com/birdstudiocn/spring-cloud-sample/tree/master转载于:https://www.cnblogs.com/birdstudio/p/10899923.html

CentOS7种搭建FTP服务器
1.安装vsftpd #首先要查看你是否安装vsftp [rootlocalhost /]# rpm -q vsftpd vsftpd-3.0.2-10.el7.x86_64 (显示也就安装成功了!) #如果没有则安装vsftpd [rootlocalhost/]# yum install -y vsftpd #完成后再检查一…

ssm 实现房屋租赁系统
目录 1、系统功能 2、系统使用技术 3、系统截图 4、代码截图 5、下载地址:https://download.csdn.net/download/huyande123/14039462 1、系统功能 该系统有两类用户 管理员以及普通用户,普通用户注册、用户登录退出、房源信息增删改查、租赁合同信…

成长之第一次面试
遥远地记得,近两年前的第一次面试. 虽然并不愉快,但是,往往第一次,总让人印象深刻. 我记得当时是ebay来学校招聘,兴致勃勃地跑去参加了笔试,本以为自己直接酱油的,结果竟然很幸运地通过了笔试. 还记得笔试是全英文的吧,自己的英语从进入大学开始,就有够烂的,但还是很幸运的进入…

配置GRE隧道
一、拓扑图:二、配置及说明:1、配置三台路由器的IP地址。并且在R1和R3配置默认路由,确保广域网链路能够通信:R1(config-line)#int s1/1R1(config-if)#no shR1(config-if)#ip add 202.101.172.37 255.255.255.252R1(config-if)#int…

【案例】城市地址三级联动
注意点: 1、<option value""></option> value值的设置 2、select的onchange事件 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <title>城市地址三级联动</title&…

python 更新pip 失败问题总结
1、报pip 8.1.1 Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr Successfully installed pip-8.1.1 You are using pip version 8.1.1, however version 19.1.1 is available. 如下 sudo pip install --upgrade pip The directory /ho…

[转]关于MyEclipse下的项目无法使用BASE64Encoder问题的解决办法
【链接】 http://blog.csdn.net/longlonglongchaoshen/article/details/75087616转载于:https://www.cnblogs.com/eager/p/8202900.html

携号转网:欢迎比阻挠更为有效
千呼万唤之后,携号转网已经在天津和海南两个试点地区“成功”实施。就在全国其他各地老百姓也翘首以待希望能“自由携号、自主转网”之时,见诸于报端的却都是运营商阻碍用户转网的种种“手段”,甚至大打出手、阴招不断,给携号转网…

一些大数库简介
为了解决大数运算的问题,世界各国的软件开发人员和研究学者都进行了很多的研究和实践。近年来,越来越多的开发人员开始重视软件工程的作用,为了减少重复劳动,提高软件的质量和代码复用,许多优秀的大数运算库随之出现。…

Silverlight技术支持谷歌Android
[计世网消息](刘清河 编译) 当苹果公司没有将Adobe公司的Flash技术集成到iPhone时,就好象已经为其竞争对手微软公司的Silverlight技术提供了一个可乘之机。然而,从目前出现的情况来看,无论是苹果公司还是微软公司,似乎都不可能与i…

生活中的一些事情
从小到大,在遭遇困境的时候,总想着有人能来帮我,自己也曾隐晦地向同学朋友家人发出求救信息,总觉得有人能帮我出谋划策,抑或是安慰我引导我,帮助我走出困境,然而始终是什么都没有。 也就突然真正…

python 使用安装虚拟环境 virtualenv
目录 1、安装virtualenv 2、Ubuntu使用python3创建虚拟环境目录 3、激活虚拟环境 4、关闭虚拟环境 5、查看python版本 1、安装virtualenv pip install virtualenv virtualenvwrapper 2、Ubuntu使用python3创建虚拟环境目录 virtualenv -p /usr/bin/python3 test3、激…
idea 启动时报 error:java 无效的源发行版
说白了就是编译的版本不符合,有的地方是jdk1.7 有的地方是jdk1.8 所以你只要每个地方都保持一致就行。 每个地方!! 每个地方!! 每个地方!! 重要的设置说三遍! 以jdk1.7为例 file -- …

解决win7不能上网的问题
装了WIN7发现网通客户端无法登录了。真的让人郁闷,下面就说说怎样解决吧一、网通给你在客户端上使用的用户名其实不是真实的用户名,你可以使用如下方法获得真实的用户名。用网通客户端登录上网后,打开ie浏览器,在工具栏上点“inte…

spring中实现自己的初始化逻辑
实现这两个listener都可以进行自己的初始化逻辑。 InitializingBean.afterPropertiesSet 这个优先调用 ApplicationListener.onApplicationEvent 这个后调用他们分别由 AbstractApplicationContext.refresh 方法 调用的如下两个函数调用到的: finishBeanFactoryInit…

java-错误log4j:WARN No appenders could be found for logger
使用环境: 1.IED工具 idea 2.系统环境win10 错误原因: 1.根本原因是日志问题 解决方式: 1.pom文件添加jar包 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.2</version><…

理解委托(delegate)及为什么要使用委托
委托:是一种定义方法签名的类型。 当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联。 您可以通过委托实例调用方法。 上述为官方说法,理解起来比较难,举个生活中的例子: 某人有三子,让他们各…