免费爱碰视频在线观看,九九精品国产屋,欧美亚洲尤物久久精品,1024在线观看视频亚洲

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

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

      在前幾個章節(jié)我們已經(jīng)詳細(xì)地說了創(chuàng)建視圖及url的方式,也熟悉了基本的增刪改查方法,那么我們就可以利用之前所學(xué)的知識來實(shí)現(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é)我們將實(shí)現(xiàn)博客的登錄注冊功能!

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

      相關(guān)推薦

      • Python shutil 模塊

        shutil 可以看作 sh + util,即 shell 工具之意,該模塊提供了一些針對文件和文件夾的高級操作,如:拷貝、刪除、移動等,shutil 模塊是對 os 模塊的補(bǔ)充?!?/p>

        2022年7月5日
      • 京東有機(jī)牛奶趨勢洞察白皮書:綠色健康成趨勢

        DoNews6月21日消息(邵忱)近日,京東超市推出了包括低脂(脫脂)、高鈣、有機(jī)等10類牛奶的標(biāo)準(zhǔn)。與此同時,京東超市與京東JC2M智能制造平臺聯(lián)合金典共同推出《京東有機(jī)牛奶趨勢…

        2022年6月22日
      • 快來看~羅技垂直人體工程學(xué)鼠標(biāo),外觀太吸睛了

        羅技垂直鼠標(biāo)是一個符合人體工程學(xué)的設(shè)計(jì),它是一個復(fù)雜的形狀,以3D模型。鼠標(biāo)紋理是使用Elegoo Mars Pro SLA樹脂打印機(jī)3D打印的。對于鼠標(biāo)的前部,我們使用了白色的標(biāo)…

        2022年8月19日
      • 水乳、精華、面霜……正確護(hù)膚,到底需要幾步

        田小姐今年29歲,在她的洗漱臺上擺滿了各種瓶瓶罐罐的化妝品,面霜會早霜、晚霜分開買,面膜也有早安面膜、睡眠面膜等多個品種。談起護(hù)膚心得,她總能說得頭頭是道。不過,這種“疊羅漢”式的…

        2022年7月1日
      • 血壓高喝山楂水真的有用嗎?你的理解真的正確嗎?

        #血壓高喝山楂水有用嗎# 山楂,營養(yǎng)價值非常豐富,里面含有的膳食纖維、維C、鉀以及鈣等多種營養(yǎng)素比較高。 尤其是維C,差不多每100克山楂之中含有53毫克的維生素C,而公認(rèn)的“維生…

        2022年8月17日
      • 信用卡降額后一次性還不上怎么辦 選擇這些方式還款

        辦理信用卡確實(shí)可以提供很多好處,所以越來越多的人使用信用卡,但信用卡也要按照規(guī)定消費(fèi),如果發(fā)現(xiàn)違規(guī)行為很可能會降額,如果信用卡降額后一次性還不上怎么辦?一起來看看。 信用卡降額后一…

        2022年10月8日
      • 極空間Z4為何人人喊好?全網(wǎng)最適合小白的網(wǎng)紅NAS到底怎么樣?

        大家好,我是Fanfan。今天聊聊火爆全網(wǎng)的NAS——極空間Z4。 先說說我實(shí)際應(yīng)用中的使用結(jié)論: 極影視完全可以替代掉目前在用的plex,無需購買會員,操作流暢,支持海報(bào)墻,支持…

        2022年6月16日
      • 比iQOO10更強(qiáng)!vivo X90系列將搭載8Gen2加1億像素

        今年的手機(jī)市場可謂是開局即王炸,各家的新機(jī)無論是配置還是顏值都直接拉滿,這也讓國內(nèi)手機(jī)市場迎來了巨變。vivo雖然過去專注線下市場深耕,但是其最近兩年的轉(zhuǎn)型還是十分成功的,其發(fā)布的…

        2022年8月6日
      • 車主因眼睛小被系統(tǒng)誤判,不只是“優(yōu)化”的問題

        據(jù)紅星新聞報(bào)道,日前,汽車博主@常巖CY稱,在使用小鵬汽車輔助駕駛功能(NGP)的過程中,由于眼睛較小,總被車載DMS(駕駛員監(jiān)測系統(tǒng))判定為“使用輔助駕駛時,頻繁分神”遭到警告?!?/p>

        2022年7月29日
      • 勝高生態(tài)小程序火了

        勝高生態(tài)小程序是一個以農(nóng)產(chǎn)品預(yù)定的綜合平臺,是一個移動互聯(lián)網(wǎng)B2C專業(yè)平臺,通過專用移動網(wǎng)絡(luò)(或Internet),進(jìn)行數(shù)據(jù)信息的交換、傳遞,開展交易活動的商業(yè)平臺。通過平臺和移動…

        2022年6月17日

      聯(lián)系我們

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