Flask的初步使用一
2018-03-07 16:03
190 查看
flask是一个python application 框架
flask 相比 Django操作更简单
1 可以用pycharm直接创建一个flask工程
直接可以运行,这样自动就安装好了flask包.
也可以通过pip install Flask.
2 新项目中
执行之后
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* 然后我们在浏览器中输入这个地址
*
3 数据库的创建方式.两种方式.代码中书写 和 项目创建. 1在本项目下创建一个文件,例如schema.sql.然后在python代码中的init_db方法初始化这个数据库,然后我们就看到一个数据库生成了.2第二种方式,我们先创建一个文件,例如mydb.右击项目
选择最末尾一项,data source. 然后根据提示创建指向本文件的数据库.成功之后,写入建表语句和插入数据.我们查看数据库,发现表和数据都已经插入了.如果没有看到数据库的同学,可以在pycharm的最左下角,看到一个pc的标志,点击在弹出的窗口中选择数据库选项.
flask 相比 Django操作更简单
1 可以用pycharm直接创建一个flask工程
直接可以运行,这样自动就安装好了flask包.
也可以通过pip install Flask.
2 新项目中
from flask import Flask from flask import request from flask import render_template from flask import make_response from flask import session from contextlib import closing from flask import g import sqlite3 app = Flask(__name__) #如果要使用session,则需要为应用程序定义一个密钥 app.secret_key = 'JHKLSDGosdf98076djklHSDad?' #连接数据库,并返回连接对象 def connect_db(): #连接数据库,并返回数据库连接对象 return sqlite3.connect("c:/xxxx/fpro1/users.db") #初始化数据库,执行schema.sql文件,并提交 def init_db(): #closing函数的作用在于使用完db对象之后,将其关闭 with closing(connect_db()) as db: #读取schema.sql当中的sql语句,并将其执行 with app.open_resource("schema.sql",mode='r') as f: #读取文件当中的所有行,将其一次性执行 db.cursor().executescript(f.read()) db.commit() #per request,per connection @app.before_request def before_request(): #g是一个全局对象,在所有的函数当中都可以访问 g.db = connect_db() print("before") @app.after_request def after_response(response): print("after") g.db.close() return response @app.route('/') def hello_world(): return 'Hello World!' @app.route('/abc') def abc(): return "abc" @app.route('/page/<index>') def page(index): print(index) return "" + index @app.route('/users/<year>/<month>/<day>') def get_user_by_date(year,month,day): return year + ":" + month + ":" + day @app.route('/test_request') def test_request(): print(request) print(request.method) print(request.args.get('name','nobody')) return "aaa" @app.route('/user') def user(): u1 = {'name': 'zhangsan', 'age': 20} u2 = {'name': 'lisi', 'age': 22} return render_template('user.html', u1=u1, u2=u2) @app.route('/store_cookie') def store_cookie(): #创建一个响应对象 resp = make_response(render_template("test_cookie.html")) resp.set_cookie("abc", "123") resp.set_cookie("abcd", "1234") return resp @app.route("/get_cookie") def get_cookie(): value1 = request.cookies.get("abc") value2 = request.cookies.get("abcd") return value1 + ":" + value2 @app.route("/test_session") def test_session(): print(type(session)) session['username'] = 'zhangsan' print(session['username']) print(session.get('username')) return "test_session" @app.route("/add_user/<id>/<name>/<age>") def add_user(id, name, age): # sql = "insert into user values("+id+",'"+name+"',"+age+")" #sqlites使用?作为占位符 sql = "insert into user VALUES (?,?,?)" #连接数据库,返回数据库连接对象 # db = connect_db() #执行sql语句,将列表当中的数据替换到占位符上 g.db.execute(sql, [id, name, age]) g.db.commit() return "add_user" @app.route("/get_all_user") def get_all_user(): #执行查询语句,将查询语句的结果放置在游标当中 cursor = g.db.execute("select * from user") #cursor.fetchall()将会取出游标当中所有的数据,每一个数据都是一个元组 for row in cursor.fetchall(): print(row) print(row[0]) print(row[1]) print(row[2]) return "get_all_user" if __name__ == '__main__': app.run()
执行之后
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* 然后我们在浏览器中输入这个地址
*
3 数据库的创建方式.两种方式.代码中书写 和 项目创建. 1在本项目下创建一个文件,例如schema.sql.然后在python代码中的init_db方法初始化这个数据库,然后我们就看到一个数据库生成了.2第二种方式,我们先创建一个文件,例如mydb.右击项目
选择最末尾一项,data source. 然后根据提示创建指向本文件的数据库.成功之后,写入建表语句和插入数据.我们查看数据库,发现表和数据都已经插入了.如果没有看到数据库的同学,可以在pycharm的最左下角,看到一个pc的标志,点击在弹出的窗口中选择数据库选项.
相关文章推荐
- flask-admin章节三:数据库迁移工具 alembic初步使用
- flask初步使用
- flask 使用错误总结
- git初步使用之push 错误:fatal: The remote end hung up unexpectedly
- Python的Flask框架中SQLAlchemy使用时的乱码问题解决
- 初步使用MyEclipse
- 使用 Python & Flask 实现 RESTful Web API
- 【Expression 序列化】WCF的简单使用及其Expression Lambada的序列化问题初步解决方案(一)
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- Ztree的初步使用--checkbox--指定目录下搜索子节点
- Flask初级(四)flash在模板中使用静态文件
- (三十六)WebView的初步使用
- C# 3.0新特性初步研究 Part1:使用隐含类型的本地变量
- jquery-easyui简介和初步使用
- IplImage的初步使用
- Qt学习之路_4(Qt UDP的初步使用)
- Python――flask-sqlalchemy 自动生成符合Sqlachemy的Model:sqlautocode/sqlacodegen使用方式
- 在flask中使用验证码
- Retrofit的初步使用
- Redis进阶实践之七Redis和Lua初步整合使用