用Python Flask Web框架搭建自己的網(wǎng)站
時間:2023-07-11 14:48:01 | 來源:網(wǎng)站運營
時間:2023-07-11 14:48:01 來源:網(wǎng)站運營
用Python Flask Web框架搭建自己的網(wǎng)站:
PART ONE 項目簡介
本項目是基于Flask搭建前后端不分離的新聞類資訊網(wǎng)站,可以自己個性化定位網(wǎng)站的類型,因為來回都是這樣的套路。
用戶端功能實現(xiàn)
- 注冊登錄(需要手機驗證碼驗證)
- 新聞詳情查看
- 新聞評論、點贊、收藏
- 個人中心的基本信息、頭像、密碼設(shè)置與修改
- 查看關(guān)注的作者以及取消關(guān)注
- 查看收藏的文章以及取消收藏
- 發(fā)布自己撰寫的新聞文章
- 查看自己發(fā)布的新聞文章
服務(wù)端功能實現(xiàn)
用戶管理
- 用戶統(tǒng)計(數(shù)據(jù)可視化展示)
- 用戶查看(支持搜索查看用戶基本信息)
新聞管理
- 新聞審核,支持狀態(tài)篩選對用戶發(fā)布的新聞進行審核
- 新聞編輯,對已發(fā)布的新聞進行二次編輯
- 新聞分類,對主頁展示的新聞類別進行管理(增刪改)
網(wǎng)站視頻效果展示
具體網(wǎng)站效果可見下面的演示視頻
https://www.zhihu.com/video/996138537342857216PART TWO 跟著操作自己把網(wǎng)站跑起來
項目相關(guān)資源獲取
本項目使用到的前端文件以及測試數(shù)據(jù)等材料請到微信公眾號Python孫行者回復(fù)“Flask搭建網(wǎng)站”獲取即可。
開發(fā)環(huán)境
- 操作系統(tǒng):Ubuntu16.04
- 數(shù)據(jù)庫:MySQL Redis
- IDE軟件:PyCharm
- Python版本:Python3版本
- 注冊認證七牛云(存儲頭像圖片等)和容聯(lián)云通訊(發(fā)送短信驗證碼)
- 虛擬環(huán)境創(chuàng)建
- 上面的的1-4的配置環(huán)境請瀆者自行安裝,安裝期間遇到不會的多多找谷歌和度娘,培養(yǎng)自我解決問題的能力。
- 因為本項目用戶頭像是放在云存儲上的,所以需要使用到千牛云存儲(傳送門)(有免費10G空間)的服務(wù),短信發(fā)送功能使用容聯(lián)云通訊(傳送門)提供的服務(wù)(有贈送8元余額在里面,測試發(fā)送短信功能成功沒問題后,可以直接把發(fā)送短信功能注釋掉,后臺打印輸出就好,以免產(chǎn)生不必要的費用),請讀者自行注冊以及實名認證。虛擬環(huán)境創(chuàng)建可參考下面:
虛擬環(huán)境創(chuàng)建
虛擬環(huán)境的重要性就不必多說了。因為每個項目的依賴模塊會不一樣,需要為項目提供一個獨立的環(huán)境,互不影響各個項目的開發(fā)環(huán)境,更是為了更好的調(diào)試。
依次執(zhí)行以下代碼:
- sudo apt install virtualenv
- sudo apt install virtualenvwrapper
- which python3 # 查看Python3 的路徑
mkvirtualenv -p /usr/bin/python3 News_Website - -p /usr/bin/python3 指定Python版本為Python3版本
- 創(chuàng)建一個名為News_Website的虛擬環(huán)境,以后開發(fā)都在這個環(huán)境下進行
* workon 虛擬環(huán)境名稱 :進入虛擬環(huán)境 * deactivate :退出虛擬環(huán)境
啟動網(wǎng)站試一試,體驗一下下
記得,所有操作都在虛擬環(huán)境News_Website下進行
- Python孫行者后臺回復(fù)"Flask搭建網(wǎng)站"獲取資源
- 解壓News_Websites_Project壓縮包,找到News_Website(final)文件夾,在Pycharm中打開News_Website(final),解釋器選擇前面創(chuàng)建的虛擬環(huán)境News_Website;
- 修改信息
- 把自己七牛云和云通訊的token等接口信息填寫到以下文件的# TODO 處
News_website(final)/info/constants.py
News_website(final)/info/utils/image_storge.py
News_website(final)/info/utils/yuntongxun/sms.py - 把config.py中的數(shù)據(jù)庫的訪問密碼"mysql"修改為自己數(shù)據(jù)庫root的訪問密碼
- 打開Pycharm Terminal終端(在左下角靠中的位置),批量安裝需要用到的相關(guān)Python模塊
- 下面我們先在MySQL創(chuàng)建數(shù)據(jù)庫,打開系統(tǒng)終端,運行以下命令
進入數(shù)據(jù)庫: mysql -uroot -p 創(chuàng)建數(shù)據(jù)庫: create database news_website charset=utf8;
- 創(chuàng)建數(shù)據(jù)庫里的表,在Pycharm Terminal依次輸入以下三條命令即可
* python manager.py mysql init * python manager.py mysql migrate -m "initialize database" * python manager.py upgrade
- 往數(shù)據(jù)庫添加測試數(shù)據(jù),進入MySQL的news_website數(shù)據(jù)庫,先添加分類,在添加新聞
* use news_website; * source information_info_category.sql的文件路徑; * source information_info_news.sql的文件路徑;
- 使用腳本創(chuàng)建管理員賬號,在Pycharm Terminal輸入以下命令:
python manager.py create_super_user -n admin -p admin
- 運行網(wǎng)站,在Pycharm中雙擊打開manager.py,點擊右上角的manager.py的下拉按鈕,選擇edit configuration, 在parameter處填寫‘runserver’,保存后,在右側(cè)空白地方右擊,選擇運行
- 在瀏覽器的網(wǎng)址欄輸入以下網(wǎng)址,體驗一把
- 網(wǎng)站首頁:127.0.0.1:5000
- 管理后臺:127.0.0.1:5000/admin/login
PART THREE 盡情折騰
參照final完成版,對 待開發(fā)版 盡情折騰
在折騰中遇到問題,歡迎到Python孫行者后臺發(fā)送您遇到的問題,請帶上error截圖以便快速定位錯誤,一起學(xué)習(xí)進步.
基礎(chǔ)知識要求
需要基本具備以下的前后端知識:
前端知識
√HTML:頁面結(jié)構(gòu)
√CSS:頁面表現(xiàn):元素大小、顏色、位置
√JavaScript:頁面行為(這里使用JQuery的ajax進行數(shù)據(jù)交互)
√Jinja2模板引擎:渲染HTML頁面
后端知識
√Python:項目基礎(chǔ)語言
√數(shù)據(jù)庫:MySQL(存儲永久性數(shù)據(jù)),Redis(存放cookie,session數(shù)據(jù))
√Flask:項目框架,對藍圖有一定的了解
前端知識掌握程度需要能看懂實現(xiàn)什么功能,有個大概就行,本項目直接提供前端代碼源碼,通過本項目你肯定可以掌握的這些知識的.
敲到后面就會感覺越來越容易了,看到自己一步步搭建的網(wǎng)站跑起來了,成就感涌上心頭啊.
在學(xué)習(xí)過程中遇到問題或者發(fā)現(xiàn)可以改善的地方,歡迎大家在Python孫行者后臺留言,一起學(xué)習(xí)進步.