flask的使用(一)
1.程序基本的说明
#-*-encoding=utf--*-
从flask中引入类
from flask import Flask ,render_template
import config
初始化一个flask对象 Flask(),需要传入一个参数_name_
.方便flask寻找寻找资源
.方便flask插件,比如Flask Sqlalcheny出现错误的时候,好去寻找问题所在的位置
app = Flask(__name__)
@开头,并且是在函数上面,说明是一个装饰器
这个装饰器的作用,是做一个url与视图函数的映射相匹配的
比如127.0.0.:/————>去请求一个heloo_world这个项目,额庵后返回给浏览器
@app.route('/')
def hello_world():
return render_template('index.html',username='kanhwang',gender='nan')
如果当前这个文件是作为程序的一个入口程序,那么就执行——app.run()这个方法
if __name__ == '__main__':
app.run()
app.run ()启动一个应用服务器,来接受用户的一个请求
相当于while True:
Listen()
#static:用来存储静态资源的
#tem中放入的数html文件
2.debug模式的开启
好处:可以修改代码,而不需要重新的加载程序,他会在自己执行ctrl+s之后,自动将程序加载。但是HTML页面是不可以的,在java中也是这样的,但是在java中需要保存,可以不用启动服务器。
开启方式:
(1)在主函数的run方法中添加debug==True
(2)可以使用配置的方法
Import config
App.config.form_obiect(config)
config中的程序
DEBUG=True
3.url传递参数
3.1.参数的作用,可以在相同的Url中,指定不同的参数,来加载不同的数据
3.2。在flask中使用参数,
要求:参数必须放在两个括号中,视图中的需要放在url中的参数同名
@app.route('/kw/<id>') 两个括号之间
def kw(id):
return u"你传入的参数是%s" % id 视图中与url中的同名
4.页面渲染
4.1flask建项目的目录说明 static中存放的是css、js等页面的,在template中放置的是页面HTML。
4.2页面渲染的使用案例
from flask import Flask ,render_template
import config
app = Flask(__name__)
@app.route('/')
def hello_world():
return render_template('index.html',username='kangwang',gender='man')
if __name__ == '__main__':
app.run()
页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Demo1</title>
</head>
<body>
用户名:{{ username}}
性别:{{ gender }}
</body>
</html>
4.3数据传入
上面的例子中传输参数,在template方法里面,但是如果有太多的页面,这样的传输,不是一个好的办法,那么我们可以使用字典的方式传输值
@app.route('/')
def hello_world():
context={
'username':'kanhwang',
'gender':'nan'
}
return render_template('index.html',**context)
传入类的方式
def hello_world():
class people:
name='kw'
age= p=people()
context = {
'username': 'kanhwang',
'gender': 'nan',
'peo':p
}
return render_template('index.html',**context)
接收端
用户名:{{ peo.name}}
性别:{{ peo.age }}
传输字典的方式
context = {
'username': 'kangwang',
'gender': 'man',
'peo':p,
'websites':{
'baidu':'http://baidu.com',
'hh':'https://i.cnblogs.com/EditPosts.aspx?opt=1'
}
}
接收数据端
{{websites.baidu }}
还有一种方式,使用与字典,也适用于类传递参数
{{websites['baidu'] }}
flask的使用(一)的更多相关文章
- flask+sqlite3+echarts2+ajax数据可视化
前提: 准备Python + Flask+Sqlite3的平台环境(windows系统) 前面一节介绍flask怎么安装了,剩下sqlite3下载后解压,然后环境变量添加解压路径就行了 附加下载地址: ...
- flask+sqlite3+echarts2+ajax数据可视化报错:UnicodeDecodeError: 'utf8' codec can't decode byte解决方法
flask+sqlite3+echarts2+ajax数据可视化报错: UnicodeDecodeError: 'utf8' codec can't decode byte 解决方法: 将 py文件和 ...
- Windows下快速安装Flask的一次经历
前提: 1.已安装python版本(一般都是2.X) 2.已安装easy_install python安装,记得配置Python的环境变量,例如:我的直接在Path上加 G:\Python 验证安装P ...
- 使用Flask设计带认证token的RESTful API接口[翻译]
上一篇文章, 使用python的Flask实现一个RESTful API服务器端 简单地演示了Flask实的现的api服务器,里面提到了因为无状态的原则,没有session cookies,如果访问 ...
- 使用python的Flask实现一个RESTful API服务器端[翻译]
最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文将会使用python的Flask框架轻松实现一个RESTful的服务 ...
- python flask (一)
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World ...
- flask源码分析
本flask源码分析不间断更新 而且我分析的源码全是我个人觉得是很beautiful的 1 flask-login 1.1 flask.ext.login.login_required(func),下 ...
- Python flask 基于 Flask 提供 RESTful Web 服务
转载自 http://python.jobbole.com/87118/ 什么是 REST REST 全称是 Representational State Transfer,翻译成中文是『表现层状态转 ...
- Python flask @app.route
转载自 http://python.jobbole.com/80956/ 下面是Flask主页给我们的第一个例子,我们现在就由它入手,深入理解“@app.route()”是如何工作的. ...
- Flask 框架入门
Flask Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 . 安装 Flask 依赖两个外部库, We ...
随机推荐
- 如何分解json值设置到text文本框中
<td><input type="text" id="name11"></td> //4设置访问成功返回的操作 xhr.on ...
- [C#防止反编译].NET 产品版权保护方案 (.NET源码加密保护)
[C#防止反编译].NET 产品版权保护方案 (.NET源码加密保护) 标签: .net加密产品c#dll工具 2011-03-24 21:06 27009人阅读 评论(13) 收藏 举报 分类: C ...
- 李笑来~执行力WWH
什么是秘密 秘密是指只有极少数人知道的实用信息.这个实用信息可以为知道且懂得运用的人获得收益,这个收益可能包括钱.名声和快感. 什么是执行力 执行力=What + Why + How,即WWH 执行力 ...
- Linux shell command学习笔记(一)
Shell的种类有很多种,例如CSH,Bourne Shell,Korn Shell.在现在的大多数Linux发行版中,默认的Shell一般都是Bourne again shell(bash). &l ...
- BZOJ3529: [Sdoi2014]数表(莫比乌斯反演,离线)
Description 有一张 n×m 的数表,其第 i 行第 j 列(1 <= i <= n, 1 <= j <= m)的数值为 能同时整除 i 和 j 的所有自然数之和.给 ...
- (转)Tomcat调优
问题定位 对于Tomcat的处理耗时较长的问题主要有当时的并发量.session数.内存及内存的回收等几个方面造成的.出现问题之后就要进行分析了. 1.关于Tomcat的session数目 这个可以直 ...
- C语言的多行宏定义
一.多行宏定义的使用 最近在跟STM32L011K4T6低功耗的源代码,发现使用了多行的宏定义来封装函数,记得之前把\给删除掉,编译程序就一直报错. \是续行操作符,也就是宏定义一行写不完,需要多行写 ...
- Unity新版网络-NetworkManager
NetworkManager是一个组件,用来管理网络多人游戏的状态.它实际上是完全使用HLAPI实现,所以它所做的一切程序员可以使用其他方式实现.然而,NetworkManager封装好了很多有用的功 ...
- 关于程序中delay函数带来的繁琐问题
导致“滴滴”声音不准确的原因是因为,串口屏幕发送信息的时候会有delay() 的延迟. 得到的教训就是,无论在什么地方,最好都不要加delay的延迟.否则含有delay的子 函数加入到其他模块中,就会 ...
- 图像处理 Mine
1)中值滤波:排序取中间值.作用:去噪点 1.1)均值滤波; 1.2)高斯模糊:执行高斯模糊,然后改混合模式,改成叠加.柔光或者深色.就能得到平滑而不模糊的效果. 2)腐蚀.膨胀:开运算(腐蚀后膨胀) ...