2024-04-29 分類: 網(wǎng)站建設(shè)
來源:麥?zhǔn)寰幊?/p>
作者:麥2叔
開發(fā)一個包含數(shù)據(jù)庫的簡單網(wǎng)站系統(tǒng)是Web開發(fā)入門的最好方式。
Flask是Python最熱門的兩個Web框架之一,是最簡單易用,容易上手的框架。
本系列使用Python的Flask框架開發(fā)一個簡易的博客系統(tǒng),共用時約90分鐘。整個文章分為3部分,今天是第「2」部分。第3部分本周日發(fā)布。
?
原計劃是分成2部分,篇幅有點長,臨時改成了3部分。
?
第1部分的鏈接:
是時候?qū)W習(xí)Web開發(fā)了!1小時用Python開發(fā)博客系統(tǒng)【1】
整個文章包括以下內(nèi)容,第1部分涵蓋前5部分,今天包含中間的3部分:
安裝flask創(chuàng)建項目運行你的第一個網(wǎng)站創(chuàng)建一個像樣的網(wǎng)頁用樣式表美化網(wǎng)頁「使用模板和bootstrap」「創(chuàng)建文章數(shù)據(jù)庫」「顯示所有的文章」顯示一篇文章發(fā)布新文章修改文章內(nèi)容刪除文章關(guān)于麥?zhǔn)屙撁?p>今天的文章信息量有點大,所有源代碼都可以關(guān)注公眾號「麥?zhǔn)寰幊獭?/strong>,回復(fù)「fff」獲得鏈接。我們開始吧!上次我們已經(jīng)創(chuàng)建好了flask程序和一個應(yīng)用了基本樣式的頁面:
我們要繼續(xù)「美化」頁面。
大部分網(wǎng)站都有很多頁面,這些頁面都會共用同樣的菜單欄??偛荒荛_發(fā)沒頁面的時候都要把菜單欄寫一遍吧?
這里就用到了「模板」的概念,我們創(chuàng)建一個模板,模板包含了菜單等共同的部分,而具體頁面只要往模板中填空就行了。
我們的博客最終的樣式是這樣的,它包含了「列表」,「新建」,「詳情」,「修改」,「關(guān)于麥?zhǔn)濉?/strong>等多個頁面。這些頁面共用同一個模板。
1.下載JavaScript和CSS文件
我們需要用到j(luò)query和bootstrap,先去我的git上下載這幾個文件,下載方法:關(guān)注麥?zhǔn)寰幊?,回?fù)210820。
下載完后分別放在static目錄下的css和js目錄下。其中js目錄需要先創(chuàng)建出來。
2.在templates目錄下創(chuàng)建一個新的文件:base.html
<!doctype html><html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <link rel="stylesheet" href="{{ url_for('static', filename= 'css/bootstrap.min.css') }}"> <title>{% block title %} {% endblock %}</title> </head> <body> <nav class="navbar navbar-expand-md navbar-light bg-light"> <a class="navbar-brand" href="{{ url_for('index')}}">麥?zhǔn)宓牟┛?lt;/a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav"> <li class="nav-item active"> <a class="nav-link" href="#">關(guān)于麥?zhǔn)?lt;/a> </li> </ul> </div> </nav> <div class="container"> {% block content %} {% endblock %} </div> <script src="{{url_for('static', filename='js/jquery.slim.min.js')}}" ></script> <script src="{{url_for('static', filename='js/popper.min.js')}}" ></script> <script src="{{url_for('static', filename='js/bootstrap.min.js')}}" ></script> </body></html>這里面信息量有點大,我來一個個解釋:
使用url_for方法引入了前面下載的1個css文件和3個js文件。之前我們創(chuàng)建的style.css文件就沒用了,可以刪除了。在開頭部分的{% block title %} {% endblock %}是標(biāo)題(title)占位符,相當(dāng)于定義了名為title的變量,后面會被具體內(nèi)容替換掉。在中間部分的{% block content %} {% endblock %}是網(wǎng)頁內(nèi)容的占位符,相當(dāng)于定義了名為content的變量,后面會被具體內(nèi)容替換掉。博客系統(tǒng)會有很多文章,我們要把這些文章保存到數(shù)據(jù)庫。
數(shù)據(jù)庫有很多選擇,比如MySQL, postgresql,Oracle, sqlite3等。
我們今天要使用最輕量級的數(shù)據(jù)庫sqlite3,Python自帶了這個庫,所以不需要額外安裝。
在blog.py同目錄下創(chuàng)建一個文件db.sql,里面是創(chuàng)建數(shù)據(jù)庫表的SQL語句:DROP TABLE IF EXISTS posts;現(xiàn)在數(shù)據(jù)庫里有兩篇文章,我們可以使用python從數(shù)據(jù)庫中獲取數(shù)據(jù),并且展現(xiàn)到網(wǎng)頁上。
修改blog.py,具體細(xì)節(jié)見注釋import sqlite3 #引入sqlite3今天就到這里了,后面的部分會在本周日發(fā)布,到時候也會發(fā)視頻到bilibili,請保持關(guān)注。
整個文章包括以下內(nèi)容,第1部分涵蓋前5部分,今天包含后面的部分:
安裝flask創(chuàng)建項目運行你的第一個網(wǎng)站創(chuàng)建一個像樣的網(wǎng)頁用樣式表美化網(wǎng)頁使用模板和bootstrap創(chuàng)建文章數(shù)據(jù)庫顯示所有的文章「顯示一篇文章」「發(fā)布新文章」「修改文章內(nèi)容」「刪除文章」「關(guān)于麥?zhǔn)屙撁?/strong>」非常感謝您讀完創(chuàng)新互聯(lián)的這篇文章:"python制作網(wǎng)站開發(fā)(貴陽網(wǎng)站開發(fā)制作)",僅為提供更多信息供用戶參考使用或為學(xué)習(xí)交流的方便。我們公司提供:網(wǎng)站建設(shè)、網(wǎng)站制作、官網(wǎng)建設(shè)、SEO優(yōu)化、小程序制作等服務(wù),歡迎聯(lián)系我們提供您的需求。
本文標(biāo)題:python制作網(wǎng)站開發(fā)(貴陽網(wǎng)站開發(fā)制作)
標(biāo)題URL:http://jinyejixie.com/news39/325889.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、響應(yīng)式網(wǎng)站、營銷型網(wǎng)站建設(shè)、App開發(fā)、外貿(mào)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容