在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    Flask博客實(shí)戰(zhàn) – 創(chuàng)建用戶相關(guān)應(yīng)用

    Flask博客實(shí)戰(zhàn) - 創(chuàng)建用戶相關(guān)應(yīng)用

    在前幾個(gè)章節(jié)我們已經(jīng)詳細(xì)地說(shuō)了創(chuàng)建視圖及url的方式,也熟悉了基本的增刪改查方法,那么我們就可以利用之前所學(xué)的知識(shí)來(lái)實(shí)現(xiàn)用戶相關(guān)應(yīng)用,并構(gòu)造好基本的登錄注冊(cè)功能視圖!

    最開始我們創(chuàng)建目錄的時(shí)候就在app文件夾下預(yù)留了一個(gè)auth的文件夾,相關(guān)登錄注冊(cè)以及用戶相關(guān)的數(shù)據(jù)及視圖模板都放到這個(gè)文件夾下邊

    創(chuàng)建用戶相關(guān)應(yīng)用

    在app/auth/目錄下參照blog目錄創(chuàng)建相關(guān)文件,這次我們將models和views放到文件夾中,使其成為一個(gè)塊

    1、創(chuàng)建一個(gè)models的文件夾并在其內(nèi)部創(chuàng)建一個(gè)__init__.py的文件及auth.py的文件

    2、創(chuàng)建一個(gè)views的文件夾并在其內(nèi)部創(chuàng)建一個(gè)__init__.py的文件及auth.py的文件

    3、創(chuàng)建一個(gè)templates的文件夾并在其內(nèi)部創(chuàng)建一個(gè)login.html的文件及register.html的文件

    目錄結(jié)構(gòu)如下

    app/ auth/ __init__.py models/ __init__.py auth.py views/ __init__.py auth.py templates/ login.html register.html static/ blog/ __init__.pyRealProject/

    創(chuàng)建用戶模型User

    在models/auth.py文件中創(chuàng)建用戶模型如下:

    from datetime import datetimefrom RealProject import dbclass BaseModel(db.Model): “””基類模型 “”” __abstract__ = True add_date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow, ) # 創(chuàng)建時(shí)間 pub_date = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, nullable=False) # 更新時(shí)間class User(BaseModel): “””用戶模型 “”” id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(128), unique=True, nullable=False) password = db.Column(db.String(320), nullable=False) avatar = db.Column(db.String(200), nullable=True) is_super_user = db.Column(db.Boolean, nullable=True, default=False) # 超級(jí)管理員標(biāo)識(shí) is_active = db.Column(db.Boolean, nullable=True, default=True) # 是否為活躍用戶 is_staff = db.Column(db.Boolean, nullable=True, default=False) # 是否允許登錄后臺(tái) def __repr__(self): return ” % self.username

    在models/__init__.py中引入用戶模型

    from .auth import User

    在RealProject/__init__.py工廠函數(shù)中注冊(cè)模型models

    def create_app(test_config=None): app = Flask(__name__, instance_relative_config=True) if test_config is None: CONFIG_PATH = BASE_DIR / ‘RealProject/settings.py’ app.config.from_pyfile(CONFIG_PATH, silent=True) else: # test_config為一個(gè)字典 app.config.from_mapping(test_config) db.init_app(app) migrate.init_app(app, db) login_manager.init_app(app) # 注冊(cè)視圖 register_bp(app) # 注冊(cè)模型 from app.blog import models from app.auth import models return app

    同步數(shù)據(jù)庫(kù)

    flask db migrateflask db upgrade

    備注:在同步之前記住一定要導(dǎo)出環(huán)境變量

    創(chuàng)建登錄注冊(cè)視圖

    在app/auth/views/auth.py文件中創(chuàng)建登錄注冊(cè)視圖

    from flask import render_template, Blueprint, redirect, url_forfrom ..models import authbp = Blueprint(‘auth’, __name__, url_prefix=’/auth’, template_folder=’../templates’, static_folder=’../static’)@bp.route(‘/login’, methods=[‘GET’, ‘POST’])def login(): if request.method == ‘POST’: # 登錄相關(guān)邏輯代碼 return render_template(‘login.html’)@bp.route(‘/register’, methods=[‘GET’, ‘POST’])def register(): if request.method == ‘POST’: # 注冊(cè)相關(guān)邏輯代碼 # 注冊(cè)成功跳轉(zhuǎn)到登錄頁(yè) return redirect(url_for(‘auth.login’)) return render_template(‘register.html’)

    這兩個(gè)視圖我們完全采用了藍(lán)圖方式綁定url和視圖函數(shù),其中template_folder和static_folder的路徑一定要設(shè)置正確,否則找不到位于該目錄下的templates文件夾,就無(wú)法正確加載!

    在app/auth/views/__init__.py文件中引入藍(lán)圖

    from .auth import bp

    在RealProject/__init__.py中的register_bp()函數(shù)中注冊(cè)藍(lán)圖

    def register_bp(app:Flask): # 注冊(cè)視圖方法 from app.blog import views as blog from app.auth import views as auth app.register_blueprint(blog.bp) # 注冊(cè)藍(lán)圖 app.register_blueprint(auth.bp) app.add_url_rule(rule=’/’, endpoint=’index’, view_func=blog.index)

    到這里我們的用戶模型及登錄注冊(cè)視圖的基本框架就已經(jīng)做好了,下一章節(jié)我們將實(shí)現(xiàn)博客的登錄注冊(cè)功能!

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月16日 21:19
    下一篇 2022年6月16日 21:20

    相關(guān)推薦

    • ios手游模擬器(手游模擬器ios)

      本文主要講的是ios手游模擬器,以及和手游模擬器ios相關(guān)的知識(shí),如果覺得本文對(duì)您有所幫助,不要忘了將本文分享給朋友。 哪個(gè)iOS模擬器能多開手游賬號(hào)?可以推薦個(gè)好用的模擬器給我嗎…

      2022年11月27日
    • 短視頻策劃內(nèi)容的3個(gè)要點(diǎn)(短視頻策劃內(nèi)容怎么做)

      短視頻在制作時(shí),內(nèi)容框架非常重要。如果直奔主題,然后結(jié)束,聚卓告訴你,這樣的短視頻已經(jīng)過(guò)時(shí)了?,F(xiàn)在的短視頻需要框架的,但不是任何框架,它需要一種易于理解和消化的框架。而且,現(xiàn)在大多…

      2022年11月27日
    • 美團(tuán)第三季度實(shí)現(xiàn)營(yíng)收626億元,即時(shí)配送訂單量增至50億筆

      新京報(bào)訊(記者秦勝南)11月25日,美團(tuán)發(fā)布業(yè)績(jī)公告顯示,第三季度營(yíng)收為626億元,較去年同比增長(zhǎng)28.2%,凈利潤(rùn)為12.2億元。第三季度,美團(tuán)即時(shí)配送訂單數(shù)增長(zhǎng)至50億筆。截至…

      2022年11月27日
    • 存儲(chǔ)過(guò)程語(yǔ)法(sql server存儲(chǔ)過(guò)程語(yǔ)法)

      今天小編給各位分享存儲(chǔ)過(guò)程語(yǔ)法的知識(shí),其中也會(huì)對(duì)sql server存儲(chǔ)過(guò)程語(yǔ)法進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開始吧! oracle存儲(chǔ)過(guò)程基本語(yǔ)法…

      2022年11月26日
    • 個(gè)人怎么做抖音帶貨(個(gè)人做抖音帶貨能賺錢嗎)

      抖音如今是大家很熟悉的短視頻平臺(tái),不過(guò)現(xiàn)在的抖音卻不只是短視頻那么簡(jiǎn)單,它的功能非常豐富,其中一個(gè)就是可以帶貨,相信很多小伙伴都有在抖音上買過(guò)東西,抖音如今的變現(xiàn)能力也是不容小覷的…

      2022年11月25日
    • 小紅書平臺(tái)的一些機(jī)制及玩法詳解(小紅書玩法有哪些)

      關(guān)于小紅書 一:小紅書平臺(tái)的一些機(jī)制 1. 筆記內(nèi)容的CES評(píng)分機(jī)制 2. 筆記流量入口與長(zhǎng)尾效應(yīng) 二:小紅書優(yōu)質(zhì)筆記的特點(diǎn)(分維度、類型分析) 1.筆記的本身架構(gòu)組成 維度 2.…

      2022年11月25日
    • 百度關(guān)鍵詞快速排名的4大原理解析(百度怎么刷關(guān)鍵詞)

      近期百度公告驚雷算法2.0,升級(jí)之快還是第一次吧,看來(lái)百度對(duì)于刷點(diǎn)擊行為是零容忍了。之前尹華峰SEO技術(shù)博客介紹過(guò)一篇如何使用刷點(diǎn)擊工具,其實(shí)市面上有很多這類SEO快速排名的軟件,…

      2022年11月25日
    • 科比19歲女兒遭自稱與她生“科比式孩子”男子跟蹤騷擾

      極目新聞?dòng)浾咄趿亮咙S佳琪 據(jù)??怂剐侣劸W(wǎng)報(bào)道,當(dāng)?shù)貢r(shí)間11月21日,已故籃球巨星科比·布萊恩特的長(zhǎng)女娜塔莉亞·布萊恩特21日向法院提交臨時(shí)限制令,聲稱這位32歲的前科從十幾歲起就騷…

      2022年11月24日
    • 抖音世界杯投屏怎么弄 抖音看世界杯怎么看能投屏嗎

      抖音作為短視頻平臺(tái)第一次進(jìn)軍世界杯直播,小編還是很期待的,畢竟每天沒(méi)事的時(shí)候都會(huì)刷一下抖音,看直播的話也是方便了不少,那抖音看世界杯可以投屏嗎?下面一起來(lái)了解一下。 抖音世界杯投屏…

      2022年11月24日
    • 玩轉(zhuǎn)海外ASO優(yōu)化的8個(gè)技巧(蘋果aso優(yōu)化怎么做)

      在海外,一款A(yù)PP要呈現(xiàn)到用戶眼前,基本上都繞不開iOS和Android渠道商。那么,如何讓你的App被更多用戶發(fā)現(xiàn)呢?本文作者總結(jié)了8個(gè)APP海外ASO優(yōu)化推廣策略,一起來(lái)看一下…

      2022年11月24日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息