日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Python Flask基礎(chǔ)到登錄功能的實現(xiàn)代碼

瀏覽:105日期:2022-06-20 08:37:32

視頻教程教學地址:https://www.bilibili.com/video/BV18441117Hd?p=1

0x01路由

from flask import Flaskapp = Flask(__name__) # flask對象實例化 @app.route(’/index’) #定義首頁@app.route(’/’) #設(shè)置默認indexdef index(): return ’hello world!’@app.route(’/home/<string:username>’) # 生成home路由,單一傳參def home(username): print(username) return ’<h1>歡迎回家</h1>’@app.route(’/main/<string:username>/<string:password>’) #多個參數(shù)傳遞def main(username,password): print(username) print(password) return ’<h1>welcome</h1>’def about(): return ’about page’app.add_url_rule(rule=’/about’,view_func=about) #另一種添加路由的方式if __name__ == ’__main__’: app.debug = True #開啟debug模式 app.run()0x02 模版和靜態(tài)文件2.1 文件結(jié)構(gòu)

Python Flask基礎(chǔ)到登錄功能的實現(xiàn)代碼

2.2代碼

#app.py#app.pyfrom flask import Flask,render_template #倒入模版app = Flask(__name__) #聲明模版文件夾@app.route((’/index’))def index(): return render_template(’index.html’) #返回模版if __name__ == ’__main__’: app.run(debug=True)

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title></head><body> <h1>hello hello</h1> <img src='http://www.b3g6.com/static/imgs/1.png'></body></html>2.3 運行效果

Python Flask基礎(chǔ)到登錄功能的實現(xiàn)代碼

0x03 json

from flask import Flask,jsonifyapp = Flask(__name__)@app.route(’/’)def index(): user = {’name’:’李三’,’password’:’123’} return jsonify(user)if __name__ == ’__main__’: app.run(debug=True)3.1運行效果

Python Flask基礎(chǔ)到登錄功能的實現(xiàn)代碼

0x04 重定向4.1 訪問跳轉(zhuǎn)

from flask import Flask, redirect #導入跳轉(zhuǎn)模塊app = Flask(__name__)@app.route(’/index’)def index(): return redirect(’https://www.baidu.com’) #指定跳轉(zhuǎn)路徑,訪問/index目錄即跳到百度首頁@app.route(’/home’)def home(): return ’home page’if __name__ == ’__main__’: app.run(debug=True)4.2 打印路由

from flask import Flask,url_for #導入模塊app = Flask(__name__)@app.route(’/index’)def index(): return ’test’@app.route(’/home’)def home(): print(url_for(’index’)) 打印 index路由 return ’home page’if __name__ == ’__main__’: app.run(debug=True)4.3 跳轉(zhuǎn)傳參

# 訪問home,將name帶入index并顯示在頁面from flask import Flask,url_for,redirect #導入模塊app = Flask(__name__)@app.route(’/index<string:name>’)def index(name): return ’test %s’ % name@app.route(’/home’)def home(): return redirect(url_for(’index’,name=’admin’))if __name__ == ’__main__’: app.run(debug=True)0x05 jinjia2模版 5.1代碼

from flask import Flask,render_template #倒入模版app = Flask(__name__) #聲明模版文件夾@app.route((’/index’))def index(): user = ’admin’ data = [’111’,2,’李三’] userinfo = {’username’:’lisan’,’password’:’12333’} return render_template(’index.html’,user=user,data=data,userinfo=userinfo) #返回模版,傳入數(shù)據(jù)if __name__ == ’__main__’: app.run(debug=True)

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title></head><body> <h1>11111</h1> {{user}} {{data}} #直接傳入 {% if user == ’admin’%} #簡單邏輯判斷 <h1 style='color:red'>管理員</h1> {% else %} <h1 style='color:green'>普通用戶</h1> {% endif %} <hr> {% for item in data %} # for循環(huán) <li>{{item}}</li> {% endfor %} <hr> {{ userinfo[’username’] }} {{ userinfo[’password’] }} <hr> {{ user | upper }} #字母大寫(更多可查閱jinjia2過濾器)</body></html>5.2 運行效果

Python Flask基礎(chǔ)到登錄功能的實現(xiàn)代碼

0x06 藍圖

目的是為了更好的細分功能模塊

6.1代碼結(jié)構(gòu)

├── admin│ └── admin.py└── app.py6.2 代碼

#admin.pyfrom flask import Blueprint 導入藍圖模塊admin = Blueprint(’admin’,__name__,url_prefix=’/admin’) #對象實例化,url_prefix添加路由前綴,表示若想訪問本頁相關(guān)路由,只能通過形如 xxx/admin/login 訪問,不能 xxx/login訪問@admin.route(’/register’)def register(): return ’歡迎注冊’@admin.route(’/login’)def login(): return ’歡迎登錄’

#app.pyfrom flask import Flaskfrom admin.admin import admin as admin_blueprint # 導入藍圖app = Flask(__name__) #聲明模版文件夾app.register_blueprint(admin_blueprint) #注冊藍圖@app.route((’/index’))def index(): return ’index page’if __name__ == ’__main__’: app.run(debug=True)0x07 登錄 7.1結(jié)構(gòu)

Python Flask基礎(chǔ)到登錄功能的實現(xiàn)代碼

7.2代碼

#web.pyfrom flask import Flask,render_template,request,redirect,flash,url_for,sessionfrom os import urandomapp = Flask(__name__)app.config[’SECRET_KEY’] = urandom(50)@app.route(’/index’)def index(): if not session.get(’user’): flash(’請登錄后操作’,’warning’) return redirect(url_for(’login’)) return render_template(’index.html’)@app.route(’/login’,methods=[’GET’,’POST’])def login(): if request.method == ’GET’:return render_template(’login.html’) elif request.method == ’POST’:username = request.form.get(’username’)password = request.form.get(’password’)if username == ’admin’ and password == ’888888’: flash(’登錄成功’,’success’) session[’user’] = ’admin’ return redirect(url_for(’index’))else: flash(’登錄失敗’,’danger’) return redirect(url_for(’login’))if __name__ == ’__main__’: app.run(debug=True)

# index.html<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title> <link rel='stylesheet' rel='external nofollow' rel='external nofollow' integrity='sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu' crossorigin='anonymous'><!-- 最新的 Bootstrap 核心 JavaScript 文件 --><script src='https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js' integrity='sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd' crossorigin='anonymous'></script></head><body> <h1>歡迎你,管理員</h1> {% for color, message in get_flashed_messages(with_categories=True) %} <div role='alert'> <button type='button' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>&times;</span></button> <p>{{message}}</p></div> {% endfor %}</body></html>

#login.html<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>login</title> <!-- 最新版本的 Bootstrap 核心 CSS 文件 --><link rel='stylesheet' rel='external nofollow' rel='external nofollow' integrity='sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu' crossorigin='anonymous'><!-- 最新的 Bootstrap 核心 JavaScript 文件 --><script src='https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js' integrity='sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd' crossorigin='anonymous'></script></head><body> <form action='/login' method='post'> <div class=’form-group’> <input type='text' name='username' placeholder='請輸入用戶名' class='form-control'> </div> <div class=’form-group’> <input type='password' name='password' placeholder='請輸入密碼' class='form-control'> </div> <div class='form-group'> <input type='submit' value= 'submit' class='btn btn-primary'> </div> </form> {% for color, message in get_flashed_messages(with_categories=True) %} <div role='alert'> <button type='button' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>&times;</span></button> <p>{{message}}</p></div> {% endfor %}</body></html>7.3實現(xiàn)效果

7.3.1未登錄默認跳轉(zhuǎn)到登錄頁面

Python Flask基礎(chǔ)到登錄功能的實現(xiàn)代碼

7.3.2登錄成功跳轉(zhuǎn)到index頁面

賬戶密碼:admin/888888

Python Flask基礎(chǔ)到登錄功能的實現(xiàn)代碼

7.3.2登錄失敗效果

Python Flask基礎(chǔ)到登錄功能的實現(xiàn)代碼

到此這篇關(guān)于Python Flask基礎(chǔ)到登錄功能的實現(xiàn)的文章就介紹到這了,更多相關(guān)Python Flask登錄內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
色爱综合av| 亚洲免费一区三区| 国产高清视频一区二区| 麻豆成人综合网| 日韩午夜av在线| 免费在线亚洲欧美| 欧美.日韩.国产.一区.二区| 久久国产福利| 黄色aa久久| 欧美午夜三级| av不卡在线| 色偷偷偷在线视频播放| 亚洲精一区二区三区| 成人免费网站www网站高清| 国产精品伦一区二区| 国产精品毛片在线| 在线看片一区| 国产一区二区精品久| 亚洲福利国产| 欧美偷窥清纯综合图区| 麻豆mv在线观看| 亚洲在线免费| 日韩高清不卡一区二区| 国产传媒av在线| 伊人精品久久| a日韩av网址| 日韩不卡一二三区| 欧美日韩在线观看视频小说| 婷婷综合电影| 欧美日韩国产观看视频| 视频一区二区三区在线| 国产精品久久久久久久免费观看| 久久影视一区| 精品国内亚洲2022精品成人| 西西人体一区二区| 9999国产精品| 国产精品久久久网站| 欧美福利在线| 久久精品国产久精国产| 日本一不卡视频| 亚洲黄色影院| 四虎4545www国产精品| 国产情侣久久| 亚洲+小说+欧美+激情+另类| 自由日本语亚洲人高潮| 电影亚洲精品噜噜在线观看| 久久麻豆视频| 国产精品视频一区二区三区综合| 日韩专区一卡二卡| 日韩视频在线一区二区三区| 五月激情久久| 国产综合色区在线观看| 久久精品一区二区国产| 欧美日韩伊人| 久久精品99国产精品| 少妇高潮一区二区三区99| 免费在线欧美视频| 久久国产精品亚洲77777| 在线亚洲自拍| 午夜在线视频观看日韩17c| 亚洲一区成人| 在线综合亚洲| 日韩中文字幕一区二区三区| 另类亚洲自拍| 天堂av一区| 日韩av影院| 国产精品巨作av| 另类综合日韩欧美亚洲| 国产精品蜜月aⅴ在线| 精品久久网站| 国产在线|日韩| 亚洲欧美日韩国产综合精品二区 | 少妇精品久久久一区二区| 日韩精品中文字幕一区二区| 日韩精品免费视频一区二区三区 | 精品一区二区三区视频在线播放| 91精品美女| 色综合狠狠操| 亚洲国产日韩欧美在线| 亚洲网址在线观看| 国产精品va视频| 91精品一区二区三区综合在线爱| 亚洲欧洲一区二区天堂久久| 中文字幕免费一区二区| 久久久久观看| 美女国产精品| 国产在线不卡一区二区三区 | 精品国产亚洲日本| 在线午夜精品| 国产乱码精品一区二区亚洲| 国产粉嫩在线观看| 综合一区av| 欧美一级精品| 国产精品115| 视频一区二区欧美| 日韩国产专区| 日韩精彩视频在线观看| 日本精品影院| 国产高清亚洲| 综合视频一区| 蜜桃tv一区二区三区| 欧美aa在线视频| 日韩精品a在线观看91| 午夜影院欧美| 激情综合五月| 亚洲欧美在线综合| 欧美亚洲精品在线| 超碰超碰人人人人精品| 国产日韩中文在线中文字幕 | 国产日韩欧美中文在线| 国产亚洲在线| 欧美日韩国产一区二区三区不卡| 国内揄拍国内精品久久| 欧美日本不卡| 欧美一区激情| 日本成人手机在线| 伊人久久一区| 黑丝一区二区三区| 日韩欧美一区二区三区在线观看 | 日韩精品a在线观看91| 老色鬼久久亚洲一区二区| 国产91一区| 99久久婷婷这里只有精品| 亚洲最新无码中文字幕久久 | 亚洲精品一二| 中文字幕日韩高清在线 | 国产精品7m凸凹视频分类| 夜鲁夜鲁夜鲁视频在线播放| 欧美好骚综合网| 久久精品青草| 免费毛片在线不卡| 国产精品美女| 综合干狼人综合首页| 日韩中文av| 美女视频网站久久| 国内精品亚洲| 亚洲性色av| 乱人伦精品视频在线观看| 日韩中文字幕一区二区高清99| 国产日韩欧美一区二区三区| 欧美国产另类| 日韩电影免费网址| 国产亚洲福利| 国产一卡不卡| 成人精品动漫一区二区三区| 91精品在线观看国产| 99国产精品久久久久久久 | 男女男精品视频网| 美女国产精品久久久| 国产精品yjizz视频网| 亚洲大全视频| 欧美久久一区二区三区| 日韩av免费| 亚洲三级在线| 欧美日韩免费观看视频| 99热精品在线| 老司机精品视频网| 国产模特精品视频久久久久| 国产精品久久乐| 1024精品一区二区三区| 日本午夜精品久久久久| 亚洲精品一区三区三区在线观看| 综合激情视频| 亚洲爱爱视频| 日韩高清欧美激情| 激情综合网五月| 久久亚洲人体| 日本99精品| 日韩亚洲国产欧美| 日本不卡免费高清视频在线| 在线看片日韩| 激情偷拍久久| 欧美少妇精品| 精品不卡一区| 国产精品白浆| 日韩av一二三| 蜜臀av性久久久久蜜臀aⅴ四虎| 夜鲁夜鲁夜鲁视频在线播放| 久久久精品国产**网站| 喷白浆一区二区| 99视频一区| 亚洲美洲欧洲综合国产一区| 日韩中文在线电影| 国产中文欧美日韩在线| 日韩国产在线一| 蜜桃久久久久久| 久久亚洲色图| 综合一区二区三区| 亚洲久草在线| 亚洲精品一级| 日韩av二区在线播放| 日韩1区2区3区| 日韩avvvv在线播放| 国产精品66| 国产精品一区二区三区av| 日韩精品一二三| 日韩中文av| 国产精品magnet| 国产盗摄——sm在线视频| 日本黄色精品|