python+flask+html開發簡單的網頁

        新手學習python,掌握的基本語法的使用,學習基本的數據類型(字符串、列表、元組、字典、集合等)、函數、數據結構等使用及理解後,後續的項目實戰離不開web開發、爬蟲、圖像處理、深度學習、人工智能等。本博客作爲學習小記,純屬簡單的python學習交流文章,如有紕漏或者錯誤,還請多多指教,感謝!

軟件基礎:

安裝PyCharm(版本2019.3) 官網鏈接:https://www.jetbrains.com/pycharm/

安裝python(版本3.7.5):https://www.python.org/downloads/

學習來源:

視頻(bilibili):https://www.bilibili.com/video/av16976018?from=search&seid=649169955504493099

                                  https://www.bilibili.com/video/av14095837?from=search&seid=649169955504493099

                                  https://www.bilibili.com/video/av48204232?from=search&seid=5440996610444191920

現有使用較多python的web搭建框架:Flask、Django、Tornado,當然還有bottle、web.py等(來源bilibili-Python_fullstack框架入門【老男孩IT】https://www.bilibili.com/video/av69049751?p=1

Flask:短小精悍、內部沒有太多組件,第三方組件豐富。

Djiango:重武器,內部包含了非常多組件:ORM、Form、ModelForm 、緩存、session、中間件、信號等

Tornado:異步非阻塞框架(node.js)

----------------------------------------------------------------------------

開始搭建:

1. 打開PyCharm,新建project,命名爲setup_web,選擇空目錄,選擇默認環境Virtualenv

  • 新建myapp.py(網頁後臺控制)
  • 新建文件夾templates(文件名一定要是這個),在裏面新建一個index.html(網頁源代碼)

自此,項目本地目錄中就有:

2. 安裝需要的flask模塊包,在PyChram中Terminal命令行中

>> pip install flask

3. 基本的程序準備就緒,開始編輯myapp.py的代碼:

from flask import Flask
from flask import render_template #渲染

app = Flask(__name__)
@app.route('/') #主頁地址,“裝飾器”
def news():
    the_news = {
            'XXX1':'1',
            'XXX2':'2',
            'XXX3':'3',
            'XXX4':'4',
    }
    context = {
        'title':'新聞',
        'the_news': the_news,
    }
    return render_template('index.html',context=context) #把index.html文件讀進來,再交給瀏覽器

if __name__ == '__main__':
    app.run(host='0.0.0.0',debug=True,port=80) #127.0.0.1 迴路 自己返回自己

html的代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>個性簽名</title>
    <style>
        div.wrapper {
            border: 1px solid black;
            height: 250px;
            width: 550px;
            background: white;
            margin: auto;
        }

        div.form-div {
            border: 1px solid black;
            height: 50px;
            width: 550px;
            background: yellow;
            margin: auto;
        }

        div.img-div {
            border: 1px solid black;
            height: 200px;
            width: 550px;
            background: white;
            margin: auto;
        }
    </style>
</head>

<body>
    <div class="wrapper">
        <h4>{{context.title}}</h4>
        <ul>
            {% for i in context.the_news %}
            <li><a href="#"><span>{{ i }}</span>{{ context.the_news[i] }}</a></li>
            {% endfor %}
        </ul>

        <div class="form-div">
            <form method="POST">
                <input type="text">
                <select>
                    <option>1</option>
                    <option>2</option>
                </select>
                <input type="submit">
            </form>
        </div>
        <div class="img-div">
            <span>新聞講究時效性</span>
        </div>

    </div>
</body>
<ml>
</html>

4. 運行myapp.py(右鍵點擊Run 'myapp.py'),打開瀏覽器,輸入http://localhost/或者127.0.0.1,結果如下圖所示:

---------------------------------------------------------------------------------------------------------

學習小計:

pycharm使用操作:

  • 快捷鍵:ctrl+? 註釋、反註釋

 

html操作(菜鳥教程:https://www.runoob.com/html/html-basic.html):

  • 基本的html代碼結構
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>     <!-- 兩個<title>之間的Title爲網頁打開時的提示標籤 -->

</head>
<body>

      <!-- html編程的主體 -->

</body>
</html>
  • 代碼認識:

       <div style="" ></div>                                           <!-- 每個網頁都由大小不一的模塊構成,div就是新建網頁框架中的模塊 -->

       <span></span>                                                  <!--  顯示文字等 -->

       <font size=" " color=" " face="黑體"></font>       <!-- 設置字體顏色、大小、字體等 -->

       <a href=" "></a>                                                 <!--  標籤定義超鏈接,用於從一個頁面鏈接到另一個頁面 -->

       <br>                                                                    <!-- 換行符 -->

       <ul></ul>                                                             <!-- 標籤定義無序列表 -->

       <b></b>                                                              <!-- 加粗文本 -->

       < style="position:relative / absolute;                   <!-- 相對/絕對位置 -->

                     float: left / right;                                     <!-- 靠左、右 -->

                     left / right: 10px;                                    <!-- 距離左、右多少px -->

                     top: 25px;                                              <!-- 距離上多少px -->

                     height: 300px (100%);                           <!-- 模塊的高 -->

                     width: 300px (100%);                            <!-- 模塊的寬 -->

                     background: #FFFFFF;                         <!-- 模塊背景顏色 -->

                     border: 0px solid white;                         <!-- 模塊邊框線顏色、大小 -->

                     display: flex; flex-direction: row /column; justify-content: space-around / between;     

                                                                                   <!-- 浮動元素,橫向、縱向排列,根據窗口大小變化 -->

                     text-align:center /left /right;                    <!-- 文字位於模塊中的位置 -->

                     margin: auto;                                         <!-- 自動分配元素的水平邊距 -->

                     ">

       ... ...

學習總結:

  • 學習python,易學難精,開源,集成了很多的模塊包,作爲小白的我,把菜鳥教程中python基礎教程學了一遍,纔剛剛開始,還未入門;
  • 在bilibili上看了網上學習視頻,很多都教得比較基礎,進階的web開發教學內容一般都需付費,所以多找其他學習博客或者網站;
  • 幾天的學習,個人感覺用python來開發網站,網頁的基礎還是html編程,python實則起到構建連接、數據管理、後臺運維等的框架和數據處理的作用;
  • 以上內容,如有出錯,還請多多包涵,我還需多多學習;

存在問題:

  • 未解決所開發網頁的外網訪問問題;
  • 開發網站,學習html編程語言必不可少,大部分的代碼使用還不懂;
  • python中的數據結構、數據分析還是硬骨頭,是接下來的重點,目標是開發與一個實驗室的專屬網站;
  • ... ...

-----------------------------------------------------------

推薦學習:

  1.  菜鳥教程:python基礎教程(小白可以看看,有100道測試題)
  2.  博客園-武沛齊:https://www.cnblogs.com/wupeiqi/
  3.  圖書《python程序設計開發寶典 董付國》清華大學出版社、《python基礎教程(第2版修訂版) [挪]Magnus Lie Hetland》人民郵電出版社

>> print(' 未完待續,多多指教! ---- pxz20191221')

 

發佈了7 篇原創文章 · 獲贊 9 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章