該專案是基於python的web類庫django開發的一套web網站,因為試求的苦苦央求。 就給他做了一個簡單版的搜尋網站,實現了對資料庫資料的檢索和更新。
來看下截圖展示:
開發過程
啟動專案
django-admin startproject bt
建立應用
python3 manage.py startapp app
model設計
主要是對提交的連結進行設計,在此專案中,我們需要展示連結的名稱、url、聯絡人、連結簡介等欄位。
設計欄位如下:
業務編寫
本專案一共分為4個頁面,分別是首頁、搜尋列表頁、詳情頁、連結提交頁。
我們一一講解
首頁
首先是首頁,它的模版位於templates/app/index.html 它主要是用來展示首頁內容, 並提交搜尋詞,到搜尋介面,所有的介面都位於app/urls.py裡面,如下:
我們設定首頁的路由為IndexView, 開始編寫IndexView的程式碼。它的程式碼非常簡單:
僅僅是展示了首頁頁面,首頁將搜尋詞交給了search來處理,這一點,我們從index.html關於form的程式碼中可以看到, 提交給了url 'app:search'
列表展示頁
從urls.py中可知,app:search指向了SearchView,這個類是本專案的核心程式碼,它實現了搜尋的全過程。
繼承了ListView通用類,通過get_queryset()回撥函式來實現搜尋功能,並通過get_context_data來傳遞額外的資料給前端。即是列表展示頁。
詳情頁
我們再來開發詳情頁,從urls.py中看到,詳情頁是由DetailView來實現的,我們來窺探它的全貌:
它很簡單,繼承了DetailView通用模板類來顯示詳情。
連結提交頁
最後再來看一下連結提交頁,它是由CommitView來實現的。同樣是觀看程式碼:
它是繼承自CreateView,因為是建立操作嘛,在post中,我們通過ratelimit來限制提交次數。
執行專案
python3 manage.py runserver專案部署過程系統要求:ubuntu 16.04(或以上)
環境搭建和配置,必須嚴格按照以下步驟來安裝部署!
安裝部分
安裝nginx
sudo apt install nginx安裝python3和pip3
安裝mysql
sudo apt install mysql-server配置部分
配置mysql(/etc/mysql/my.cnf)
啟動mysql
/etc/init.d/mysql start建立資料庫
拉取程式碼到/var/www/下面
sudo git clone https://github.com/geeeeeeeek/bt.git配置setting.py,有兩點需要配置:資料庫和域名。
配置資料庫
域名配置(將你自己的域名寫入到ALLOWED_HOSTS)
ALLOWED_HOSTS = ['bt.mypython.me','xxx.com']匯入表結構
python3 manage.py makemigrationspython3 manage.py migrate建立超級使用者
python3 manage.py createsuperuser執行配置(配置位於bt/uwsgi.ini)
uwsgi --ini uwsgi.ini配置nginx, 在/etc/nginx/sites-enabled下新建bt.conf,寫入:
執行nginx
sudo service nginx start大功告成!看個妹子舒緩一下。當然,想要學習Python的小夥伴可以私信小編關鍵詞 “ 學習 ”,即可獲取Python視訊教程~