首頁>技術>

該專案是基於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視訊教程~

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 學習程式設計需要攻克的8個難關,一旦沒有把握好,很可能會失敗