環境 python 3.7
使用pip 安裝falsk
pip3 install flask
#!flask/bin/python
from flask import
flask, jsonify, render_template, request, response
from flask import
flask_bootstrap
from flask import
gimport
sqlite3
import
time
import
datetime
import
dbinit
)def
connect_db():
conn = sqlite3.connect("
testdb.db3
",check_same_thread =false)
return
conn
conn =connect_db()
cursor =conn.cursor()
#通過在before_request/teardown_request hook方法可以在每次請求連線開始之前和結束時候連線和斷開資料庫
defbefore_request():
g.db =connect_db()
defteardown_request(exception):
if hasattr(g, 'db'
): g.db.close()
#但是該方法的缺陷在於沒有請求就沒法連線資料庫,所以如果要在指令碼或者python的互動式終端中訪問資料庫需要這樣做
#now you can use the g.db object
#dbinit.init_db()
#缺點,不能離開請求上下文依賴,解決方法
defget_connection():
db = getattr(g, '
_db'
, none)
if db is
none:
db = g._db =connect_db()
returndb#
缺點必須使用 db = get_connection() 而不是僅僅直接使用g.db 來訪問資料庫連線
definitsqlitebd():
connect_db()
createusertable()
defcreateusertable():
cursor.execute(
'create table user (id varchar(20) primary key, name varchar(20))')
conn.commit()
defdeletetable(tablename):
cursor.execute(
'delete table')
conn.commit()
definsertanuser(id, name):
cursor.execute(
'insert into user values(?,?)
',(id,name))
conn.commit()
defqueryalluser():
cursor.execute(
'select id, name from user')
conn.commit()
return
cursor.fetchone()
#**********=page route**********/'
)def
index():
return
"hello, world!"'
/index/')
def home(name=none):
return render_template('
index.html
',name =name)
'/register')
defregiser():
return render_template('
register.html')
#**********=api route**********
/todo/api/v1.0/user/register
', methods=['
get'
])def
createanuser():
insertanuser(1,'
jarvis')
return jsonify('ok'
)'/todo/api/v1.0/users
',methods=['
get'
])def
get_users():
#return jsonify()
return
jsonify(queryalluser())
'/todo/api/v1.0/users/
',methods=['
get'
])def
get_user(username):
users = [,]
user = filter(lambda t: t[username] ==username, users)
if len(user) ==0:
abort(404)
return jsonify()
if__name__ == '
__main__':
initsqlitebd()
vue移動端寫的拖拽
相關知識點 touchstart 當在螢幕上按下手指時觸發 touchmove 當在螢幕上移動手指時觸發 touchend 當在螢幕上抬起手指時觸發 mousedown mousemove mouseup對應的是pc端的事件 touchcancel 當一些更高階別的事件發生的時候 如 接入或者彈出資...
移動端rem使用
1 移動端設計圖750時,html font size 50px。使用方法 1 新增viewport。2 在頁面最裡面引入該段js 建議在head裡面引入 3 css 的編寫,設計圖為750px時,頁面標註大小除以100即可,例如 設計圖標註的是,寬300px,高300px。使用rem就是,widt...
如何寫移動端自適應?
1 使用rem單位去替換px單位,布局模板以寬為320px移動端來布局 2 因為rem單位是以html根元素的font size為標準換算的,所以,隨著螢幕的尺寸越大,而font size始終為320px時所定的畫素 這裡採用html的font size為20px方便計算 且移動端尺寸變大html的...