成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

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

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

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

0x01路由

from flask import Flaskapp = Flask(__name__) # flask對(duì)象實(shí)例化 @app.route(’/index’) #定義首頁(yè)@app.route(’/’) #設(shè)置默認(rèn)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>’) #多個(gè)參數(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 #開(kāi)啟debug模式 app.run()0x02 模版和靜態(tài)文件2.1 文件結(jié)構(gòu)

Python Flask基礎(chǔ)到登錄功能的實(shí)現(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.piao2010.com/static/imgs/1.png'></body></html>2.3 運(yùn)行效果

Python Flask基礎(chǔ)到登錄功能的實(shí)現(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運(yùn)行效果

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

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

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

from flask import Flask,url_for #導(dǎo)入模塊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)傳參

# 訪問(wèn)home,將name帶入index并顯示在頁(yè)面from flask import Flask,url_for,redirect #導(dǎo)入模塊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’%} #簡(jiǎn)單邏輯判斷 <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過(guò)濾器)</body></html>5.2 運(yùn)行效果

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

0x06 藍(lán)圖

目的是為了更好的細(xì)分功能模塊

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

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

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

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

Python Flask基礎(chǔ)到登錄功能的實(shí)現(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(’請(qǐng)登錄后操作’,’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='請(qǐng)輸入用戶名' class='form-control'> </div> <div class=’form-group’> <input type='password' name='password' placeholder='請(qǐng)輸入密碼' 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實(shí)現(xiàn)效果

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

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

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

賬戶密碼:admin/888888

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

7.3.2登錄失敗效果

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

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

標(biāo)簽: Python 編程
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
在线免费观看日韩欧美| 国产精品综合一区二区| 九九热在线视频观看这里只有精品| 亚洲毛片在线| 国产精品久久看| 91麻豆swag| 久久色在线观看| 国产精品一卡二卡在线观看| 717成人午夜免费福利电影| 激情丁香综合五月| 欧美丝袜自拍制服另类| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久久亚洲一区| 亚洲成国产人片在线观看| 亚洲乱码视频| 亚洲少妇屁股交4| 激情综合自拍| 亚洲男人的天堂在线观看| 亚洲激情视频| 亚洲欧美色图小说| 亚洲三级视频| 亚洲女人****多毛耸耸8| 成人毛片在线观看| 精品播放一区二区| 91丨九色丨蝌蚪丨老版| 国产精品婷婷午夜在线观看| 一区视频在线| 亚洲最色的网站| 久热精品在线| 经典三级视频一区| 日韩欧美一区二区免费| www.亚洲国产| 国产欧美日韩另类视频免费观看| 国内精品久久国产| 一区二区三区四区精品在线视频| 国产精品久久亚洲7777| 亚洲一区二区av电影| 国产欧美日韩一区| 香蕉av福利精品导航| 欧美性高清videossexo| 国产成人高清在线| 久久精品一区蜜桃臀影院| 亚洲视频一二| 日韩在线一区二区| 欧美午夜精品一区二区蜜桃| 风间由美一区二区av101| 国产欧美视频一区二区| 亚洲激情欧美| 日韩精品电影在线| 在线播放国产精品二区一二区四区| 国产ts人妖一区二区| 久久亚洲影视婷婷| 欧美日本精品| 一区二区三区精品| 欧美午夜电影在线播放| 国产 欧美在线| 中文字幕在线不卡一区| 久久久99爱| 大桥未久av一区二区三区中文| 国产精品嫩草99a| 久久青青草原一区二区| 国产成人亚洲精品狼色在线| 国产女人水真多18毛片18精品视频| 99精品视频免费观看视频| 免费观看日韩电影| 精品人伦一区二区色婷婷| 欧美视频官网| 亚洲国产精品久久不卡毛片 | 欧美性淫爽ww久久久久无| 狠狠色丁香婷婷综合久久片| 久久久久久久久97黄色工厂| 99日韩精品| 久久不见久久见免费视频7| 欧美成人精品福利| av成人黄色| 国产成人在线视频免费播放| 国产精品青草综合久久久久99| 香蕉免费一区二区三区在线观看 | 国产欧美精品久久| 激情综合亚洲精品| 久久久久国产精品免费免费搜索| 国产精品久久777777毛茸茸| 国产999精品久久久久久绿帽| 亚洲日本在线看| 制服丝袜中文字幕亚洲| 亚洲国产日本| 国产成人精品三级麻豆| 一区二区三区视频在线观看| 日韩一区国产二区欧美三区| 99精品国产99久久久久久福利| 国产一区二区三区观看| 亚洲视频一区二区在线| 欧美理论在线播放| 99国产精品久久久久老师| 国产一区二区不卡在线| 中文字幕一区二区三区在线不卡| 欧美日韩一区二区不卡| 尹人成人综合网| 国产精品一区久久久久| 一个色综合av| 精品粉嫩超白一线天av| 久久视频一区| 欧美日韩视频在线一区二区观看视频| 久久se这里有精品| 亚洲欧美经典视频| 精品国产百合女同互慰| 久久一二三区| 欧美三级免费| 国产成人福利片| 亚洲国产精品天堂| 久久你懂得1024| 色久优优欧美色久优优| 黄色亚洲在线| 懂色一区二区三区免费观看 | 亚洲aaa精品| 中文字幕欧美三区| 在线观看日韩精品| 日韩一级精品| 成人激情文学综合网| 亚洲一区二区三区中文字幕在线 | 久久av一区二区三区亚洲| 农村妇女精品| 久久国产福利国产秒拍| 亚洲精品国产成人久久av盗摄| 精品国产自在久精品国产| 91福利在线导航| 国产欧美日韩在线播放| 色综合久久中文字幕| 国产精品一区在线观看你懂的| 午夜精品久久久久久久蜜桃app| 国产精品视频九色porn| 日韩久久精品一区| 欧美日韩一区二区欧美激情| 免费精品视频| 激情欧美日韩| 成人动漫在线一区| 激情综合色丁香一区二区| 亚洲成人午夜影院| 亚洲欧美一区二区在线观看| 久久久久久免费毛片精品| 欧美精三区欧美精三区| 日本高清成人免费播放| 性欧美精品高清| 99av国产精品欲麻豆| 国产精品a久久久久| av在线免费不卡| 国产白丝网站精品污在线入口| 麻豆成人在线观看| 日韩精品一二三四| 亚洲国产精品欧美一二99| 亚洲欧洲韩国日本视频 | 日韩av网站免费在线| 一区二区免费在线| 亚洲欧洲综合另类在线| 国产精品久久久久久久久晋中 | 伊人精品在线| 欧美日本一区二区高清播放视频| 成人av在线播放网址| 国产福利一区二区| 国产精品911| 国产麻豆成人精品| 蜜桃精品在线观看| 日韩电影在线一区二区三区| 亚洲国产精品一区二区久久| 一区二区高清在线| 亚洲观看高清完整版在线观看| 一区二区三区精密机械公司| 亚洲精品高清在线| 日本一区二区免费在线| 国产三级精品在线| 久久久国产精品午夜一区ai换脸| 精品动漫一区二区三区在线观看| 日韩欧美二区三区| 精品久久人人做人人爽| 日韩欧美成人一区| 精品美女被调教视频大全网站| 337p亚洲精品色噜噜狠狠| 在线播放日韩导航| 日韩欧美一级精品久久| ww亚洲ww在线观看国产| 久久蜜臀中文字幕| 日本一区二区久久| 中文字幕亚洲精品在线观看 | 亚洲精品一区二区三区四区高清| 欧美岛国在线观看| 精品日韩一区二区三区免费视频| 精品欧美黑人一区二区三区| www日韩大片| 日本一区二区三区在线不卡| 亚洲欧洲av在线| 亚洲精品第1页| 日韩国产一区二| 经典三级在线一区| 国产成人在线视频免费播放| 成人av网址在线观看| 91免费视频观看| 亚洲日本欧美在线| 久久久久久穴| 欧美三级一区二区| 欧美一级电影网站|