国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python Flask框架-開(kāi)發(fā)簡(jiǎn)單博客-項(xiàng)目布局、應(yīng)用設(shè)置

這篇具有很好參考價(jià)值的文章主要介紹了Python Flask框架-開(kāi)發(fā)簡(jiǎn)單博客-項(xiàng)目布局、應(yīng)用設(shè)置。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

作者:Eason_LYC
悲觀者預(yù)言失敗,十言九中。 樂(lè)觀者創(chuàng)造奇跡,一次即可。
一個(gè)人的價(jià)值,只在于他所擁有的。所以可以不學(xué)無(wú)術(shù),但不能一無(wú)所有!
技術(shù)領(lǐng)域:WEB安全、網(wǎng)絡(luò)攻防
關(guān)注WEB安全、網(wǎng)絡(luò)攻防。我的專欄文章知識(shí)點(diǎn)全面細(xì)致,邏輯清晰、結(jié)合實(shí)戰(zhàn),讓你在學(xué)習(xí)路上事半功倍,少走彎路!
個(gè)人社區(qū):極樂(lè)世界-技術(shù)至上
追求技術(shù)至上,這是我們理想中的極樂(lè)世界~(關(guān)注我即可加入社區(qū))

本專欄是對(duì)Flask官方文檔中個(gè)人博客搭建進(jìn)行的歸納總結(jié),與官方文檔結(jié)合事半功倍?;A(chǔ)薄弱的同學(xué)請(qǐng)戳Flask官方文檔教程

本人經(jīng)驗(yàn),學(xué)習(xí)一門(mén)語(yǔ)言或框架時(shí),請(qǐng)首先閱讀并官方文檔。學(xué)習(xí)完畢后,再看其他相關(guān)文章,如本系列文章,才是正確的學(xué)習(xí)道路。

如果python都完全不熟悉,一定不要著急學(xué)習(xí)框架,請(qǐng)首先學(xué)習(xí)python官方文檔,一步一個(gè)腳印。要不然從入門(mén)到放棄是大概率事件。

1、本章知識(shí)點(diǎn)總結(jié)

python flask簡(jiǎn)單項(xiàng)目,Python Flask框架,web安全,網(wǎng)絡(luò)安全,web開(kāi)發(fā),python,flask

2. 項(xiàng)目布局

2.1 基礎(chǔ)信息

個(gè)人博客使用Flask框架2.1.2, 數(shù)據(jù)庫(kù)sqlite, 開(kāi)發(fā)軟件Pycharm專業(yè)版(社區(qū)版也可)

2.2建立文件關(guān)系

一個(gè)Flask項(xiàng)目往往是由如下幾部分組成

  • 程序核心文件
    • 模板文件(HTML頁(yè)面)
    • 靜態(tài)文件(層疊樣式表CSS、圖片等)
    • 核心邏輯(Flask主程序、數(shù)據(jù)庫(kù)文件、接口文件等)
  • 相關(guān)配置文件(程序運(yùn)行配置或相關(guān)說(shuō)明)
  • 環(huán)境文件(相關(guān)第三方庫(kù))
  • 測(cè)試文件

所以我們這個(gè)項(xiàng)目的文檔結(jié)構(gòu)應(yīng)該也按此劃分
python flask簡(jiǎn)單項(xiàng)目,Python Flask框架,web安全,網(wǎng)絡(luò)安全,web開(kāi)發(fā),python,flask

2.3 環(huán)境和第三方庫(kù)

沒(méi)有 venv環(huán)境,是由于我使用了本地已存在的環(huán)境,相關(guān)設(shè)置如下
【參考文章】CMD和Pycharm創(chuàng)建和激活虛擬環(huán)境
python flask簡(jiǎn)單項(xiàng)目,Python Flask框架,web安全,網(wǎng)絡(luò)安全,web開(kāi)發(fā),python,flask

3. 應(yīng)用設(shè)置

3.1 工廠函數(shù)作用

在一個(gè)實(shí)際應(yīng)用中,會(huì)注冊(cè)很多路由(藍(lán)圖)、插件、工具或模塊,如何管理、注冊(cè)添加?
在Flask中工廠函數(shù)就是解決以上問(wèn)題的函數(shù),具體作用如下

  • 注冊(cè)框架
  • 設(shè)置SECRET_KEY和數(shù)據(jù)庫(kù)實(shí)例路徑
  • 根據(jù)提供的參數(shù)啟動(dòng)特定模式,如開(kāi)發(fā)模式、測(cè)試模式、生產(chǎn)模式等。
  • 創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例文件夾
  • 返回框架實(shí)例:一個(gè)可調(diào)用框架對(duì)象。
  • 注冊(cè)路由 — (后續(xù)使用)
  • 注冊(cè)第三方組件 — (后續(xù)使用)
  • 添加必要第三方配置 — (后續(xù)使用)
  • 也可以將核心邏輯寫(xiě)在這里 — 不推薦

3.2 代碼實(shí)現(xiàn)

這個(gè)blog的工廠函數(shù)邏輯如下:

  • 引入Flask框架
  • 設(shè)置開(kāi)發(fā)模式參數(shù)
  • 選擇判斷啟用環(huán)境(默認(rèn)為開(kāi)發(fā)模式,若提供測(cè)試模式參數(shù)則啟動(dòng)測(cè)試模式)
  • 建立實(shí)例文件夾(保存數(shù)據(jù)庫(kù)的實(shí)例)
  • 簡(jiǎn)單的hello頁(yè)面
  • 反饋Flask的一個(gè)可調(diào)用對(duì)象(app)

Flask-project\flaskr\__inti__.py

import os
from flask import Flask


def create_app(test_config=None):
    """
    工廠函數(shù)
    :param test_config: 測(cè)試環(huán)境配置,默認(rèn)為空
    :return: 已經(jīng)被配置好的Flask對(duì)象 app
    """
    # 1.引入Flask框架
    app = Flask(__name__, instance_relative_config=True)

    # 2.設(shè)置SECRET_KEY和數(shù)據(jù)庫(kù)實(shí)例路徑
    app.config.from_mapping(
        SECRET_KEY='dev',
        DATABASE=os.path.join(app.instance_path, 'flaskr.sqlite'),
    )

    # 3.根據(jù)提供的參數(shù)啟動(dòng)特定模式,如開(kāi)發(fā)模式、測(cè)試模式、生產(chǎn)模式等。
    if test_config is None:
        app.config.from_pyfile('config.py', silent=True)
    else:
        app.config.from_mapping(test_config)

    # 4.創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例文件夾,沒(méi)有文件夾則建立,若已存在則報(bào)錯(cuò),但pass
    try:
        os.makedirs(app.instance_path)
    except OSError:
        pass

    # 5.創(chuàng)建一個(gè)路由,驗(yàn)證工廠函數(shù)是否正常
    @app.route('/hello/<name>')
    def hello(name):
        return 'Hello World! by {}'.format(name)

    # 6.返回框架實(shí)例:一個(gè)可調(diào)用框架對(duì)象
    return app

create_app 是一個(gè)應(yīng)用工廠函數(shù),后面的教程中會(huì)用到。這個(gè)看似簡(jiǎn)單的函數(shù)其實(shí)已經(jīng)做了許多事情。

  1. app = Flask(__name__, instance_relative_config=True) 創(chuàng)建 Flask 實(shí)例。

     __name__ 是當(dāng)前 Python 模塊的名稱。應(yīng)用需要知道在哪里設(shè)置路 徑,使用 __name__ 是一個(gè)方便的方法。
    
     instance_relative_config=True 告訴應(yīng)用配置文件是相對(duì)于 instance folder 的相對(duì)路徑。實(shí)例文件 夾在 flaskr 包的外面,用于存放本地?cái)?shù)據(jù)(例如配置密鑰和數(shù)據(jù)庫(kù)),不應(yīng)當(dāng)提交到版本控制系統(tǒng)。
    
  2. app.config.from_mapping() 設(shè)置一個(gè)應(yīng) 用的缺省配置:

       SECRET_KEY 是被 Flask 和擴(kuò)展用于保證數(shù)據(jù)安全的。在開(kāi)發(fā)過(guò)程中,為了方便可以設(shè)置為 'dev' ,但是在發(fā)布的時(shí)候應(yīng)當(dāng)使用一個(gè)隨機(jī)值來(lái)重載它。
       DATABASE SQLite 數(shù)據(jù)庫(kù)文件存放在路徑。它位于 Flask 用于存放實(shí)例的 app.instance_path 之內(nèi)。下一節(jié)會(huì)更詳細(xì)地學(xué)習(xí)數(shù)據(jù)庫(kù)的東西。
    
  3. app.config.from_pyfile()使用 config.py 中的值來(lái)重載缺省配置,如果 config.py 存在的話。 例如,當(dāng)正式部署的時(shí)候,用于設(shè)置一個(gè)正式的 SECRET_KEY 。

    test_config 也會(huì)被傳遞給工廠,并且會(huì)替代實(shí)例配置。這樣可以實(shí)現(xiàn)測(cè)試和開(kāi)發(fā)的配置分離,相互獨(dú)立。
    
  4. os.makedirs() 可以確保 app.instance_path 存在。 Flask 不會(huì)自 動(dòng)創(chuàng)建實(shí)例文件夾,但是必須確保創(chuàng)建這個(gè)文件夾,因?yàn)?SQLite 數(shù)據(jù)庫(kù)文件會(huì)被保存在里面。

  5. @app.route() 創(chuàng)建一個(gè)簡(jiǎn)單的路由,這樣在繼續(xù)教 程下面的內(nèi)容前你可以先看看應(yīng)用如何運(yùn)行的。它創(chuàng)建了 URL /hello 和一個(gè)函數(shù)之間的關(guān)聯(lián)。這個(gè)函數(shù)會(huì)返回一個(gè)響應(yīng),即一個(gè) ‘Hello, World!’ 字符串。

4. 運(yùn)行啟動(dòng)

4.1 命令行方式啟動(dòng)(根據(jù)環(huán)境選擇使用)

# CMD
> set FLASK_APP=flaskr
> set FLASK_ENV=development
> flask run
# powershell
> set FLASK_APP=flaskr
> set FLASK_ENV=development
> flask run
# bash
$ export FLASK_APP=flaskr
$ export FLASK_ENV=development
$ flask run

我測(cè)試的環(huán)境是win10 cmd。啟動(dòng)步驟為
1. 在cmd中先激活虛擬環(huán)境,【參考文章】CMD和Pycharm創(chuàng)建和激活虛擬環(huán)境
2. 再切換到項(xiàng)目路徑下(Flask-project\)
3. 輸入上述命令行命令(根據(jù)你的環(huán)境選用)
4 .瀏覽器輸入urlhttp://127.0.0.1:5000/hello/任意字符
python flask簡(jiǎn)單項(xiàng)目,Python Flask框架,web安全,網(wǎng)絡(luò)安全,web開(kāi)發(fā),python,flask

4.2 Pycharm專業(yè)版一鍵啟動(dòng)方式

詳見(jiàn)截圖

python flask簡(jiǎn)單項(xiàng)目,Python Flask框架,web安全,網(wǎng)絡(luò)安全,web開(kāi)發(fā),python,flask
以后每次啟動(dòng)就點(diǎn)擊右上角的綠色箭頭實(shí)現(xiàn)一鍵啟動(dòng),十分方便。
python flask簡(jiǎn)單項(xiàng)目,Python Flask框架,web安全,網(wǎng)絡(luò)安全,web開(kāi)發(fā),python,flask

成功,工廠函數(shù)完成后,后續(xù)文章將繼續(xù)實(shí)現(xiàn)個(gè)人博客的各種功能。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-784988.html

到了這里,關(guān)于Python Flask框架-開(kāi)發(fā)簡(jiǎn)單博客-項(xiàng)目布局、應(yīng)用設(shè)置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python創(chuàng)建一個(gè)簡(jiǎn)單的flask應(yīng)用

    python創(chuàng)建一個(gè)簡(jiǎn)單的flask應(yīng)用

    下面用python在本地和服務(wù)器上分別創(chuàng)建一個(gè)簡(jiǎn)單的flask應(yīng)用: 1.在pc本地 1)pip flask后創(chuàng)建一個(gè)簡(jiǎn)單的腳本flask_demo.py win+R進(jìn)入命令行,切換到flask_demo.py的路徑,執(zhí)行 啟動(dòng)應(yīng)用 如果顯示啟動(dòng)失敗,可能的原因是: 設(shè)置FLASK_APP環(huán)境變量:在命令行中輸入以下命令,將FLASK_APP環(huán)境

    2024年02月05日
    瀏覽(26)
  • python輕量級(jí)web框架flask初探,搭建網(wǎng)站原來(lái)這么簡(jiǎn)單

    python輕量級(jí)web框架flask初探,搭建網(wǎng)站原來(lái)這么簡(jiǎn)單

    ?? 歡迎大家來(lái)到景天科技苑?? ???? 養(yǎng)成好習(xí)慣,先贊后看哦~???? ?? 作者簡(jiǎn)介:景天科技苑 ??《頭銜》:大廠架構(gòu)師,華為云開(kāi)發(fā)者社區(qū)專家博主,阿里云開(kāi)發(fā)者社區(qū)專家博主,CSDN新星創(chuàng)作者,掘金優(yōu)秀博主,51CTO博客專家等。 ??《博客》:Python全棧,前后端開(kāi)

    2024年03月19日
    瀏覽(574)
  • 6.php開(kāi)發(fā)-個(gè)人博客項(xiàng)目&Tp框架&路由訪問(wèn)&安全寫(xiě)法&歷史漏洞

    6.php開(kāi)發(fā)-個(gè)人博客項(xiàng)目&Tp框架&路由訪問(wèn)&安全寫(xiě)法&歷史漏洞

    目錄 知識(shí)點(diǎn) php框架——TP URL訪問(wèn) Index.php-放在控制器目錄下 ?編輯 Test.php--要繼承一下 帶參數(shù)的—————— 加入數(shù)據(jù)庫(kù)代碼 --不過(guò)濾 --自己寫(xiě)過(guò)濾 --手冊(cè)(官方)的過(guò)濾 用TP框架找漏洞: 如何判斷網(wǎng)站是thinkphp? 黑盒: 白盒: php總結(jié) ? 1-基于TP框架入門(mén)安裝搭建使用

    2024年01月25日
    瀏覽(21)
  • Python Web開(kāi)發(fā):Django與Flask框架

    Django和Flask都是Python中非常受歡迎的Web開(kāi)發(fā)框架。雖然它們都是用于構(gòu)建Web應(yīng)用程序的工具,但它們?cè)谠O(shè)計(jì)理念、使用方式和適用場(chǎng)景等方面存在一些差異。 Django Django是一個(gè)“大而全”的框架,遵循MVC設(shè)計(jì)模式。它內(nèi)置了很多功能,如ORM(對(duì)象關(guān)系映射)、模板引擎、表單處

    2024年02月22日
    瀏覽(20)
  • Python web實(shí)戰(zhàn) | 用 Flask 框架快速構(gòu)建 Web 應(yīng)用【實(shí)戰(zhàn)】

    Python web實(shí)戰(zhàn) | 用 Flask 框架快速構(gòu)建 Web 應(yīng)用【實(shí)戰(zhàn)】

    Python web 開(kāi)發(fā)已經(jīng)有了相當(dāng)長(zhǎng)的歷史,從最早的 CGI 腳本到現(xiàn)在的全棧 Web 框架,現(xiàn)在已經(jīng)成為了一種非常流行的方式。 Python 最早被用于 Web 開(kāi)發(fā)是在 1995 年(90年代早期),當(dāng)時(shí)使用 CGI 腳本編寫(xiě)動(dòng)態(tài) Web 頁(yè)面。2004 年 Django 框架發(fā)布,它是一個(gè)高度模塊化的框架,提供了許多

    2024年02月07日
    瀏覽(35)
  • 使用Dockerfile構(gòu)建python項(xiàng)目鏡像(flask框架+redis+環(huán)境變量)

    使用Dockerfile構(gòu)建python項(xiàng)目鏡像(flask框架+redis+環(huán)境變量)

    有時(shí)候如連接redis的url可能發(fā)生變化等,這時(shí)候就需要把一些變量放在環(huán)境變量中。 ????????使用 --env 和 -e 是一樣效果的。 1.1.1 配置Dockerfile文件 1.1.2 編寫(xiě)python示例程序 示例代碼: 1.1.3 構(gòu)建鏡像 ????????首先將python代碼和dockerfile文件上傳到已經(jīng)安裝了docker的服務(wù)器

    2024年02月07日
    瀏覽(24)
  • python三大開(kāi)發(fā)框架django、 flask 和 fastapi 對(duì)比

    python三大開(kāi)發(fā)框架django、 flask 和 fastapi 對(duì)比

    本文講述了什么啟發(fā)了 FastAPI 的誕生,它與其他替代框架的對(duì)比,以及從中汲取的經(jīng)驗(yàn)。 如果不是基于前人的成果,F(xiàn)astAPI 將不會(huì)存在。在 FastAPI 之前,前人已經(jīng)創(chuàng)建了許多工具 。 幾年來(lái),我一直在避免創(chuàng)建新框架。首先,我嘗試使用許多不同的框架,插件和工具來(lái)解決

    2024年02月10日
    瀏覽(26)
  • HarmonyOS應(yīng)用開(kāi)發(fā)學(xué)習(xí)筆記 UI布局學(xué)習(xí) List(){}創(chuàng)建列表 列表形式顯示 簡(jiǎn)單使用

    HarmonyOS應(yīng)用開(kāi)發(fā)學(xué)習(xí)筆記 UI布局學(xué)習(xí) List(){}創(chuàng)建列表 列表形式顯示 簡(jiǎn)單使用

    List 創(chuàng)建列表 列表形式顯示 官方文檔:創(chuàng)建列表(List) 關(guān)鍵代碼 List(){} 列表控件 ListItem() {} 子元素 例如 關(guān)鍵代碼:listDirection(Axis.Horizontal) 默認(rèn)豎直方向 Axis.Vertical 分隔線的寬度會(huì)使ListItem之間存在一定間隔,當(dāng)List設(shè)置的內(nèi)容間距小于分隔線寬度時(shí),ListItem之間的間隔會(huì)使用

    2024年02月02日
    瀏覽(34)
  • 本地部署Python Flask并搭建web問(wèn)答應(yīng)用程序框架實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)

    本地部署Python Flask并搭建web問(wèn)答應(yīng)用程序框架實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)

    Flask是一個(gè)Python編寫(xiě)的Web微框架,讓我們可以使用Python語(yǔ)言快速實(shí)現(xiàn)一個(gè)網(wǎng)站或Web服務(wù),本期教程我們使用Python Flask搭建一個(gè)web問(wèn)答應(yīng)用程序框架,并結(jié)合cpolar內(nèi)網(wǎng)穿透工具將我們的應(yīng)用程序發(fā)布到公共網(wǎng)絡(luò)上,實(shí)現(xiàn)可多人遠(yuǎn)程進(jìn)入到該web應(yīng)用程序訪問(wèn)。 在操作上我們將使用

    2024年02月05日
    瀏覽(37)
  • 基于 Python 的 Flask 框架開(kāi)發(fā)的在線電影網(wǎng)站系統(tǒng)(附完整源碼)

    基于 Python 的 Flask 框架開(kāi)發(fā)的在線電影網(wǎng)站系統(tǒng)(附完整源碼)

    今天我給大家分享的是基于Python的Flask框架開(kāi)發(fā)的在線電影網(wǎng)站系統(tǒng),大家平時(shí)需要哪個(gè)方面的項(xiàng)目都可以在每篇文章的下面留言,我后續(xù)會(huì)在公眾號(hào)分享出來(lái)。 該項(xiàng)目為基于Python的Flask框架搭建的在線電影網(wǎng)站 項(xiàng)目介紹:網(wǎng)站前端采用HTML5編寫(xiě),使用Bootstrap前端開(kāi)發(fā)框架,后

    2024年02月07日
    瀏覽(31)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包