您的位置:首页 > 编程语言 > Python开发

Flask的初步使用一

2018-03-07 16:03 190 查看
flask是一个python application 框架

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入门 python