bottle中文文档
生活随笔
收集整理的這篇文章主要介紹了
bottle中文文档
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
bottle文檔
bottle文檔1
Jinja2 模板用法
1.基本框架
debug : 顯示錯誤
reloader:代碼更新后自動加載新代碼
2.URL裝飾器
@route('/') @route('/', method=['GET', 'POST'])if request.method == 'POST':return '這是一個post請求'動態路由基礎:將請求參數放入URL路徑中
直接獲取字符串參數:
URL形式1:/user/
URL形式2:/user//
訪問URL: /user/tom
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中文文档的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python SQLAlchemy数据库
- 下一篇: 易语言 目录大纲