日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

bottle中文文档

發布時間:2025/5/22 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bottle中文文档 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

bottle文檔
bottle文檔1
Jinja2 模板用法

1.基本框架

debug : 顯示錯誤
reloader:代碼更新后自動加載新代碼

from bottle import route, run, jinja2_template @route('/') def index():return jinja2_template('templates/index.html') run(server='tornado', host='127.0.0.1', port='8082', reloader=True) from bottle import Bottle, run, routeweb = Bottle() @web.route('/') def index():return 'I am bottle!' run(web) # 默認端口為8080

2.URL裝飾器

@route('/') @route('/', method=['GET', 'POST'])if request.method == 'POST':return '這是一個post請求'

動態路由基礎:將請求參數放入URL路徑中

直接獲取字符串參數:

URL形式1:/user/
URL形式2:/user//
訪問URL: /user/tom

http://127.0.0.1/index/tom @route('/index/<name>') def index(name):print(name)return 'I am bottle!' run(host='127.0.0.1', port=80, debug=True, reloader=True)

3. 返回靜態文件

強制下載: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轉向

from bottle import run, route, error, abort, redirect @route('/zhuanxiang') def index():return redirect('/')@route('/about') def index():abort(404, 'err 404') # 轉向404頁面

5. 404 錯誤頁面

from bottle import run, route, error @error(404) def err(err):return '親,您要的頁面丟失了!!!'

6. 獲取GET、POST請求的參數

(1)GET 參數提供方法

在URL 鏈接最后添加“?名稱=值&名稱=值…”,可手工輸入提供、也可通過超鏈接提供或表單形式。
例如:http://127.0.0.1/?key=520&username=1314&sign=666

2.獲取提交的參數

提交數據查看 jquery 提交數據 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}) # 請求需要對用戶身份進行認證# 從數據庫 查詢username的密碼dbuser_psd = db.query(Users).filter_by(username=username).first().passwordprint("賬號為:" + username)print("db密碼為:" + dbuser_psd + " 輸入密碼:" + psd)# 判斷密碼是否正確if dbuser_psd == psd:try:# 查詢用戶昵稱nickname = db.query(Users).filter_by(username=username).first().nicknameprint("用戶昵稱:" + 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:# 賬號或密碼錯誤return json.dumps({'data': 403})return jinja2_template('templates/login.html')

驗證是否登錄 使用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('數據庫查詢錯誤')return redirect('/')else:return redirect('/login')if (is_login == 1):if request.method == 'GET':return jinja2_template('templates/addressAdd.html')# 提交用戶新增的地址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('/')

總結

以上是生活随笔為你收集整理的bottle中文文档的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。