亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

<optgroup id="cczp1"><ruby id="cczp1"><cite id="cczp1"></cite></ruby></optgroup>
  • <acronym id="cczp1"></acronym>
    <acronym id="cczp1"><option id="cczp1"><ol id="cczp1"></ol></option></acronym>
    <delect id="cczp1"></delect>
    <center id="cczp1"></center>
    <delect id="cczp1"></delect><em id="cczp1"><button id="cczp1"><blockquote id="cczp1"></blockquote></button></em>
    1. <optgroup id="cczp1"><td id="cczp1"><dfn id="cczp1"></dfn></td></optgroup>

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

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

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

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

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

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

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

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

      3、創(chuàng)建一個templates的文件夾并在其內(nèi)部創(chuàng)建一個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)建時間 pub_date = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, nullable=False) # 更新時間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) # 超級管理員標(biāo)識 is_active = db.Column(db.Boolean, nullable=True, default=True) # 是否為活躍用戶 is_staff = db.Column(db.Boolean, nullable=True, default=False) # 是否允許登錄后臺 def __repr__(self): return ” % self.username

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

      from .auth import User

      在RealProject/__init__.py工廠函數(shù)中注冊模型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為一個字典 app.config.from_mapping(test_config) db.init_app(app) migrate.init_app(app, db) login_manager.init_app(app) # 注冊視圖 register_bp(app) # 注冊模型 from app.blog import models from app.auth import models return app

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

      flask db migrateflask db upgrade

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

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

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

      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’: # 注冊相關(guān)邏輯代碼 # 注冊成功跳轉(zhuǎn)到登錄頁 return redirect(url_for(‘auth.login’)) return render_template(‘register.html’)

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

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

      from .auth import bp

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

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

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

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

      相關(guān)推薦

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

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

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

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

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

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

        2022年11月27日
      • 存儲過程語法(sql server存儲過程語法)

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

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

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

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

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

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

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

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

        極目新聞記者王亮亮黃佳琪 據(jù)福克斯新聞網(wǎng)報道,當(dāng)?shù)貢r間11月21日,已故籃球巨星科比·布萊恩特的長女娜塔莉亞·布萊恩特21日向法院提交臨時限制令,聲稱這位32歲的前科從十幾歲起就騷…

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

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

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

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

        2022年11月24日

      聯(lián)系我們

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