bottle中文文档
生活随笔
收集整理的這篇文章主要介紹了
bottle中文文档
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
bottle文檔
bottle文檔1
Jinja2 模板用法
1.基本框架
debug : 顯示錯(cuò)誤
reloader:代碼更新后自動(dòng)加載新代碼
2.URL裝飾器
@route('/') @route('/', method=['GET', 'POST'])if request.method == 'POST':return '這是一個(gè)post請(qǐng)求'動(dòng)態(tài)路由基礎(chǔ):將請(qǐng)求參數(shù)放入U(xiǎn)RL路徑中
直接獲取字符串參數(shù):
URL形式1:/user/
URL形式2:/user//
訪問(wèn)URL: /user/tom
3. 返回靜態(tài)文件
強(qiáng)制下載:download=True
重命名下載:download=‘6.txt’
http://127.0.0.1/index/root.txt
@route('/index/<filename>') def index(filename):print(filename)return static_file(filename, root='', download='6.txt') run(host='127.0.0.1', port=80, debug=True, reloader=True)4. URL轉(zhuǎn)向
from bottle import run, route, error, abort, redirect @route('/zhuanxiang') def index():return redirect('/')@route('/about') def index():abort(404, 'err 404') # 轉(zhuǎn)向404頁(yè)面5. 404 錯(cuò)誤頁(yè)面
from bottle import run, route, error @error(404) def err(err):return '親,您要的頁(yè)面丟失了!!!'6. 獲取GET、POST請(qǐng)求的參數(shù)
(1)GET 參數(shù)提供方法
在URL 鏈接最后添加“?名稱(chēng)=值&名稱(chēng)=值…”,可手工輸入提供、也可通過(guò)超鏈接提供或表單形式。
例如:http://127.0.0.1/?key=520&username=1314&sign=666
2.獲取提交的參數(shù)
提交數(shù)據(jù)查看 jquery 提交數(shù)據(jù) ajax
nickname = request.POST.getunicode('money') print(money)3.返回json格式
return json.dumps({'data': 403})登錄
@route('/login', method=['GET','POST']) def login(db):if request.method == 'GET':if request.get_cookie('SchoolShop'):userinfo = request.get_cookie('SchoolShop', secret='safe')info = json.loads(userinfo)uname = info['username']psd = info['password']return redirect('/my')if request.method == 'POST':username = request.POST.getunicode('username')psd = request.POST.getunicode('password')print('{} {}',format(username, psd))if (username == '' and psd == ''):return json.dumps({'data': 401}) # 請(qǐng)求需要對(duì)用戶(hù)身份進(jìn)行認(rèn)證# 從數(shù)據(jù)庫(kù) 查詢(xún)username的密碼dbuser_psd = db.query(Users).filter_by(username=username).first().passwordprint("賬號(hào)為:" + username)print("db密碼為:" + dbuser_psd + " 輸入密碼:" + psd)# 判斷密碼是否正確if dbuser_psd == psd:try:# 查詢(xún)用戶(hù)昵稱(chēng)nickname = db.query(Users).filter_by(username=username).first().nicknameprint("用戶(hù)昵稱(chēng):" + nickname)session_val = json.dumps({'username': username, 'password': psd}).encode('utf-8')# 返回cookieresponse.set_cookie("SchoolShop", session_val, secret='safe', max_age=80000)# 返回登錄成功return json.dumps({'data': 200})except:return json.dumps({'data': 403})else:# 賬號(hào)或密碼錯(cuò)誤return json.dumps({'data': 403})return jinja2_template('templates/login.html')驗(yàn)證是否登錄 使用cookie
@route('/addressAdd', method=['GET','POST']) def addressAdd(db):is_login = 0uname = ''try:if request.get_cookie('SchoolShop'):userinfo = request.get_cookie('SchoolShop', secret='safe')info = json.loads(userinfo)uname = info['username']psd = info['password']try:# username = db.query(Users).filter_by(username=uname).first().usernamepassword = db.query(Users).filter_by(username=uname).first().passwordif (password == psd):is_login = 1else:# print('cookie失效')return redirect('/')except:# print('數(shù)據(jù)庫(kù)查詢(xún)錯(cuò)誤')return redirect('/')else:return redirect('/login')if (is_login == 1):if request.method == 'GET':return jinja2_template('templates/addressAdd.html')# 提交用戶(hù)新增的地址if request.method == 'POST':receiver = request.POST.getunicode('receiver')phone = request.POST.getunicode('phone')print('{} {} {}'.format(receiver, phone, pos))except:return redirect('/login')return redirect('/')總結(jié)
以上是生活随笔為你收集整理的bottle中文文档的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python SQLAlchemy数据库
- 下一篇: python目录大纲