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

Python-web開發(fā)學(xué)習(xí)筆記(3):Flask Demo,一個網(wǎng)站開發(fā)小案例

這篇具有很好參考價值的文章主要介紹了Python-web開發(fā)學(xué)習(xí)筆記(3):Flask Demo,一個網(wǎng)站開發(fā)小案例。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?? 推薦關(guān)注我的另一個專欄系列:大道至簡,該系列收錄了許多優(yōu)質(zhì)的人工智能算法博文,包括機器學(xué)習(xí)和自然語言處理等,持續(xù)更新中,歡迎各位關(guān)注~

?

介紹完P(guān)ython-web開發(fā)學(xué)習(xí)筆記(2)--- HTML基礎(chǔ)_尚拙謹言的博客-CSDN博客,我們來搞一個簡單的網(wǎng)站小案例,帶大家更進一步理解HTML網(wǎng)頁和web框架之間是怎么運作的,本篇以做一個簡單的注冊頁面為例。

目錄

1. 網(wǎng)站運行簡要描述

2. 網(wǎng)站開發(fā)小案例—Flask

(1)安裝flask

(2)在pycharm中新建項目

(3)新建一個注冊賬戶的頁面

(4)編寫flask代碼

(5)用戶注冊,提交注冊數(shù)據(jù)


1. 網(wǎng)站運行簡要描述

Python-web開發(fā)學(xué)習(xí)筆記(3):Flask Demo,一個網(wǎng)站開發(fā)小案例

瀏覽器通過我們用戶進行的一些操作,向后臺發(fā)起請求,后臺接收到請求后,會解析請求字段,根據(jù)字段對應(yīng)的要求,執(zhí)行對應(yīng)的功能模塊(例如執(zhí)行def xxx方法),并將執(zhí)行結(jié)果返回到某個HTML文件中,后臺接收到返回后,會作為請求的響應(yīng)返回給瀏覽器,響應(yīng)中包含了一堆HTML標簽,瀏覽器接收到響應(yīng)后,會解析這一堆HTML標簽,并在瀏覽器頁面上展示給用戶。

2. 網(wǎng)站開發(fā)小案例—Flask

在寫案例之前,我們首先要大體認識一下什么是web框架。說白了,我們和瀏覽器的交互過程中,會存在大量的瀏覽器與后臺服務(wù)中心的交互、后臺服務(wù)中心與數(shù)據(jù)庫的交互、傳輸數(shù)據(jù)的處理、數(shù)據(jù)的傳輸、數(shù)據(jù)的格式化、網(wǎng)址的解析、網(wǎng)址的映射等一系列復(fù)雜的過程,這些復(fù)雜的過程大多數(shù)并不需要我們開發(fā)人員去操作,開發(fā)人員更多的精力應(yīng)該放在服務(wù)的設(shè)計、頁面的編寫、庫表的設(shè)計、功能模塊的開發(fā)、API的設(shè)計等,那其它的復(fù)雜過程,就需要交由web框架來處理了,也就是我們是在web框架上進行我們的功能開發(fā)。python領(lǐng)域常見的web框架有flask,Django。還有Java領(lǐng)域的Spring等。

本文為了方便,使用輕量級的flask框架進行案例的設(shè)計,快速制作一個簡單的實現(xiàn)注冊賬戶的web服務(wù)。話不多說,上手:

(1)安裝flask

pip install flask

(2)在pycharm中新建項目

我這里命名一個.py文件:flask_demo.py

(3)新建一個注冊賬戶的頁面

我這里新建一個register.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用戶注冊</title>
</head>
<body>
<h1>用戶注冊</h1>

<form method="post" action="/register">
    <div>
        用戶名:<input type="text" name="user"/>
    </div>
    <div>
        密碼:<input type="password" name="pwd"/>
    </div>
    <div>
        性別:
        <input type="radio" name="gender" value="1">男
        <input type="radio" name="gender" value="2">女
    </div>
    <div>
        愛好:
        <input type="checkbox" name="hobby" value="10">看書
        <input type="checkbox" name="hobby" value="20">打球
        <input type="checkbox" name="hobby" value="30">唱歌
        <input type="checkbox" name="hobby" value="40">旅游
    </div>

    <div>
        城市:
        <select name="city">
            <option value="bj">北京</option>
            <option value="sh">上海</option>
            <option value="sz">深圳</option>
        </select>
    </div>

    <div>
        備注:<textarea name="more"></textarea>
    </div>

    <input type="submit" value="submit按鈕-注冊">
</form>

</body>
</html>

以上HTML各標簽的含義我在之前的文章中都講過,大家可以到本文同屬專欄中去翻看哈~這里不再贅述。上述代碼運行后效果如下:

Python-web開發(fā)學(xué)習(xí)筆記(3):Flask Demo,一個網(wǎng)站開發(fā)小案例

(4)編寫flask代碼

from flask import Flask, render_template, request

# 給自己的項目取個名字,這里__name__意味著使用當前項目的名字
app = Flask(__name__)

# 為自己的服務(wù)定義一個接口名,該接口需拼接在URL后面,方可訪問http服務(wù)
@app.route('/register', methods=['GET', "POST"])
def register():
    if request.method == "GET":
        return render_template('register.html')

    else:
        user = request.form.get("user")
        pwd = request.form.get("pwd")
        gender = request.form.get("gender")
        hobby_list = request.form.getlist("hobby")
        city = request.form.get("city")
        more = request.form.get("more")
        print(user, pwd, gender, hobby_list, city, more)
        # 通常,我們會實現(xiàn)一個將上述用戶注冊信息寫入數(shù)據(jù)庫中實現(xiàn)注冊

        # 待上述一切執(zhí)行完畢后,我們需要給用戶返回結(jié)果
        return "注冊成功!" # 在真正業(yè)務(wù)場景中,此處返回的一般都會是HTML文件,即return render_template('xxx.html')


if __name__ == '__main__':
    # 運行啟動web服務(wù),持續(xù)監(jiān)聽用戶端發(fā)起的請求
    app.run()

執(zhí)行上述代碼后,你將會看這樣的結(jié)果:

Python-web開發(fā)學(xué)習(xí)筆記(3):Flask Demo,一個網(wǎng)站開發(fā)小案例

出現(xiàn)上圖中的樣子,說明你的web后臺服務(wù)啟動起來了。上圖中第一行的“flask_demo”就是代碼中定義的app名稱“__name__”,名稱自己隨便定義。上圖中的IP地址,是我們要訪問注冊頁面的地址,注意地址后面必須拼接上我們定義的接口名稱“/register”,現(xiàn)在我們可以通過該URL在瀏覽器中打開注冊頁面了:

Python-web開發(fā)學(xué)習(xí)筆記(3):Flask Demo,一個網(wǎng)站開發(fā)小案例

Python-web開發(fā)學(xué)習(xí)筆記(3):Flask Demo,一個網(wǎng)站開發(fā)小案例

(5)用戶注冊,提交注冊數(shù)據(jù)

現(xiàn)在我們要填寫注冊信息了:

Python-web開發(fā)學(xué)習(xí)筆記(3):Flask Demo,一個網(wǎng)站開發(fā)小案例

接著我們點擊submit按鈕,看下啥效果:

Python-web開發(fā)學(xué)習(xí)筆記(3):Flask Demo,一個網(wǎng)站開發(fā)小案例

返回了一個“注冊成功”,這是我們代碼里return的內(nèi)容。僅僅如此嗎?再看下圖:

Python-web開發(fā)學(xué)習(xí)筆記(3):Flask Demo,一個網(wǎng)站開發(fā)小案例

最上頭倆404的GET我們不管它??聪旅嬉粋€GET和一個POST,GET是因為我們通過URL進入了注冊頁面,此時為GET請求方式。POST是因為我們提交了注冊信息,此時為POST請求方式,之前說過,POST一半多用于表單的提交,而且請求信息不會體現(xiàn)在URL上,那么體現(xiàn)在哪兒?就是上圖最下面那一行,就是我們提交的注冊信息,也就是說,POST請求的信息,會記錄在后臺服務(wù)中,當然,上圖的信息并不是瀏覽器的用戶能夠看到的,而是服務(wù)端的你能夠看到的。

溫馨提示:了解了http服務(wù)運行機制后,大家就知道,千萬不要在陌生頁面輸入自己的敏感信息,人家后臺可都記著呢!

至此,一個簡易的網(wǎng)站小案例制作完成,希望通過本文,大家能夠?qū)W(wǎng)站運行機制有一個更為清晰的認識。有幫助的話,記得點贊+關(guān)注哦!文章來源地址http://www.zghlxwxcb.cn/news/detail-462214.html

到了這里,關(guān)于Python-web開發(fā)學(xué)習(xí)筆記(3):Flask Demo,一個網(wǎng)站開發(fā)小案例的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【Python】Web學(xué)習(xí)筆記_flask(1)——get&post

    【Python】Web學(xué)習(xí)筆記_flask(1)——get&post

    flask提供的request請求對象可以實現(xiàn)獲取url或表單中的字段值 GET請求 從URL中獲取name、age兩個參數(shù) POST請求 使用request.form可以接受表單數(shù)據(jù) login.html模板: 獲取用戶名稱、密碼

    2024年02月14日
    瀏覽(27)
  • 【Python】Web學(xué)習(xí)筆記_flask(2)——get&post

    【Python】Web學(xué)習(xí)筆記_flask(2)——get&post

    flask提供的request請求對象可以實現(xiàn)獲取url或表單中的字段值 GET請求 從URL中獲取name、age兩個參數(shù) POST請求 使用request.form可以接受表單數(shù)據(jù) login.html模板: 獲取用戶名稱、密碼

    2024年02月14日
    瀏覽(59)
  • 【Python】Web學(xué)習(xí)筆記_flask(6)——會話&session對象

    【Python】Web學(xué)習(xí)筆記_flask(6)——會話&session對象

    處理利用cookie來判斷用戶登錄外,也可以使用session來判斷用戶是否登錄 html代碼和cookie對象的設(shè)置相同 ? ?

    2024年02月12日
    瀏覽(19)
  • 【Python】Web學(xué)習(xí)筆記_flask(7)——Jinja2模板(1)

    【Python】Web學(xué)習(xí)筆記_flask(7)——Jinja2模板(1)

    Jinja2是基于python的模板引擎,功能類似于PHP的amarty、J2ee的Freemarker和velocity,完全支持Unicode,并具有集成的沙箱執(zhí)行環(huán)境,Jinja2使用的事BSD協(xié)議,允許使用者修改和重新發(fā)布代碼,也允許使用或在BSD代碼上開發(fā)商業(yè)軟件發(fā)布和銷售。 渲染模板: 執(zhí)行關(guān)鍵代碼: 執(zhí)行結(jié)果: ?

    2024年02月11日
    瀏覽(29)
  • 【python-web】開源個fastapi腳手架

    【python-web】開源個fastapi腳手架

    對于python-web后端而言,設(shè)計一套后端項目結(jié)構(gòu)信手拈來,而對于爬蟲工程師來說可能并不是那么的容易。 這里在下基于fastapi以及cookiecutter開源了個腳手架,幫助大家伙一鍵搭建fastapi項目結(jié)構(gòu)。 項目地址: https://gitee.com/if-always/cookiecutter-fastapi 然后根據(jù)提示輸入項目名稱、作

    2024年02月21日
    瀏覽(17)
  • Flask Web開發(fā)實戰(zhàn)(狼書)| 筆記第1、2章

    Flask Web開發(fā)實戰(zhàn)(狼書)| 筆記第1、2章

    2023-8-11 以前對網(wǎng)站開發(fā)萌生了想法,又有些急于求成,在B站照著視頻敲了一個基于flask的博客系統(tǒng)。但對于程序的代碼難免有些囫圇吞棗,存在許多模糊或不太理解的地方,只會照葫蘆畫瓢。 而當自己想開發(fā)一個什么網(wǎng)站的時,就如同摸著石頭過河,常在許多小問題上卡住

    2024年02月12日
    瀏覽(22)
  • 【Python】使用pycharm結(jié)合gradio做一個web頁面的demo

    【Python】使用pycharm結(jié)合gradio做一個web頁面的demo

    緊接上文我們安裝好了python3.10,現(xiàn)在需要下載它的開發(fā)工具pycharm,我們在這里不過多贅述具體細節(jié),僅簡要說明關(guān)鍵步驟,來通過gradio體驗一下示例demo pycharm官網(wǎng):https://www.jetbrains.com.cn/pycharm/ 然后再創(chuàng)建一個 app.py 的一個Python文件 我們需要把 Python解釋器 設(shè)置為我們前面安

    2024年02月15日
    瀏覽(27)
  • [學(xué)習(xí)筆記]python的web開發(fā)全家桶(ing)

    [學(xué)習(xí)筆記]python的web開發(fā)全家桶(ing)

    源學(xué)習(xí)視頻 目的:開發(fā)一個平臺(網(wǎng)站) 前端開發(fā):HTML、CSS、JavaScript Web框架:接收請求并處理 MySQL數(shù)據(jù)庫:存儲數(shù)據(jù)地方 快速上手: 基于Flask Web框架讓你快速搭建一個網(wǎng)站出來。 深入學(xué)習(xí): 基于Django框架(主要) 老師在P2的26分22秒使用的畫圖軟件是Excalidraw 2.4.1 div和span div

    2024年02月04日
    瀏覽(28)
  • Python Web 開發(fā) Flask 介紹

    WEB開發(fā)是現(xiàn)在程序必會的技能,因為大部分軟件都以Web形式提供,及時制作后臺開發(fā),或者只做前臺開發(fā),也需要了解Web開發(fā)的概念和特點。由于Python是解釋性腳本語言,用來做Web開發(fā)非常適合,而且Python有上百種Web開發(fā)框架,以及成熟的模板技術(shù),使得Web開發(fā)如虎添翼。今

    2024年02月14日
    瀏覽(32)
  • RK3568開發(fā)筆記(七):在宿主機ubuntu上搭建Qt交叉編譯開發(fā)環(huán)境,編譯一個Demo,目標板運行Demo測試

    RK3568開發(fā)筆記(七):在宿主機ubuntu上搭建Qt交叉編譯開發(fā)環(huán)境,編譯一個Demo,目標板運行Demo測試

    若該文為原創(chuàng)文章,轉(zhuǎn)載請注明原文出處 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/132733901 紅胖子網(wǎng)絡(luò)科技博文大全:開發(fā)技術(shù)集合(包含Qt實用技術(shù)、樹莓派、三維、OpenCV、OpenGL、ffmpeg、OSG、單片機、軟硬結(jié)合等等)持續(xù)更新中… 上一篇:《RK3568開發(fā)筆記(六):

    2024年02月07日
    瀏覽(101)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包