欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Flask 学习过程

程序员文章站 2022-05-24 21:08:39
...

教程地址点我

1、靠装饰器绑定URL规则和函数


#coding:utf-8
from flask import Flask
from gevent.pywsgi import WSGIServer

app = Flask(__name__)

# 靠装饰器绑定URL规则和函数
@app.route('/hello')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    http_server = WSGIServer(('0.0.0.0', 5000), app)
    http_server.serve_forever()

2、通过向规则参数添加变量部分,可以动态构建URL。

@app.route(’/hello/’)
@app.route(’/blog/int:postID’)
@app.route(’/rev/float:revNo’)
@app.route(’/python/’)

# coding:utf-8
from flask import Flask
from gevent.pywsgi import WSGIServer

app = Flask(__name__)


# 接受浮点数字
@app.route('/revdata/<float:revNo>')
def revision(revNo):
    result = revNo * 3.
    return '接收到的数值乘以三的结果是 %f' % result


if __name__ == '__main__':
    http_server = WSGIServer(('0.0.0.0', 5000), app)
    http_server.serve_forever()

Flask 学习过程

3、依靠动态URL,直接把这个数值存入数据库

3.1 新建一个python脚本。里面写创建一个数据库wulian.db,创建一个表tempbiao(id,tempvalue),然后插入一条记录里。然后运行。


# coding:utf-8
import sqlite3
# 没有就建立数据库 有的话就打开
conn = sqlite3.connect('wulian.db')
cursor = conn.cursor()

cursor.execute('create table tempbiao (id varchar(20) primary key, tempvalue float(32))')
cursor.execute('insert into tempbiao (id, tempvalue) values (\'1\', \'2.365\')')

cursor.close()
conn.commit()
conn.close()

打开服务器路径下查看,的确创建了wulian.db:
Flask 学习过程
3.2 查看数据库wulian.db里tempbiao 表里的记录。新建一个python脚本。

# coding:utf-8
import sqlite3


# 没有就建立数据库 有的话就打开
conn = sqlite3.connect('wulian.db')
cursor = conn.cursor()

cursor.execute('select * from tempbiao where id=?', ('1',))

print (cursor.fetchall())

cursor.close()
conn.close()

print输出了:[(u’1’, 2.365)]

3.3 修改数据库wulian.db里tempbiao 表里的记录。将浏览器传入的url信息写入数据库(这样可不安全)。

# coding:utf-8
from flask import Flask
from gevent.pywsgi import WSGIServer
import sqlite3

app = Flask(__name__)


# 接受浮点数字
@app.route('/revdata/<float:revNo>')
def revision(revNo):
    # 没有就建立数据库 有的话就打开
    conn = sqlite3.connect('wulian.db')
    cursor = conn.cursor()
    sql = "Update tempbiao Set tempvalue='{0}' Where ID='{1}'".format(revNo, '1')
    cursor.execute(sql)
    conn.commit()
    cursor.close()
    conn.close()
    return '写入的结果是 %f' % revNo


if __name__ == '__main__':
    http_server = WSGIServer(('0.0.0.0', 5000), app)
    http_server.serve_forever()

这样后,浏览器访问一下:
Flask 学习过程
再次查看这条表记录[(u’1’, 14.1)]