最近想學學python開發web,web開發必然要使用架構。目前python web架構有很多,但最流行最常見的還是Django。部落客想用Django架構+MySQL,網上雖然教程比較多,但都比較零碎,而且對新手不太友好,好多地方一筆帶過。在此将個人搭建過程與大家分享一下。我使用的編輯器是sublime Text3。
sublime Text的使用教程在此就不贅述了,網上教程很多且很詳細。
一、python安裝
我的作業系統是Windows,我這裡使用的python版本是python3.6.3。本文不贅述python的安裝及環境變量配置,網上教程很多。使用sublime Text的同學自行安裝python相關插件可提高開發效率。
二、Django安裝
Django與python版本的對應關系,大緻對應即可。
http://www.djangoproject.com/download.從這裡下載下傳Django。我使用的是Django2.0。
将Django下載下傳下來後,對下載下傳檔案進行解壓,注意:一定要解壓到python安裝路徑的根目錄下,如下:
我的Django的解壓路徑與python安裝路徑根目錄一緻。
然後打開的環境變量配置,我的電腦->屬性->進階系統設定->進階->環境變量->path,在裡面添加兩條環境變量:
D:\Python3.6.3\Lib\site-packages\django; D:\Python3.6.3\Scripts;你們要把這個位址換成你們自己的python安裝路徑,别直接拷我的。這個跟配置python環境變量一樣的,要注意分号。
然後進入cmd指令窗。進入你的Django安裝目錄,比如我的是D:\Django-2.0:
然後執行python setup.py install:
因為我已經安裝過了,是以我就不敲enter了,你們自己敲。接下來它會自己安裝,會跳出一大堆安裝過程,大概十幾秒結束。然後你就随便在一個目錄敲python指令,然後再敲import django指令,再敲django.get_version(),如下:
如果能看見版本号(比如我這裡是2.0),就沒問題了。
三、MySQL安裝
我使用的MySQL是5.7.20。點選下載下傳https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-winx64.zip。
解壓安裝,百度上有非常詳細的安裝教程,秉着資源複用的原則,在此不贅述。
在此推薦各位使用MySQL workbench,一款非常好用的MySQL可視化工具,比用指令窗操作效率高不止一點。在此給出下載下傳資源https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-6.3.10-winx64.msi。同樣,安裝教程自行百度。
四、Django配置MySQL
我們所說的Django配置MySQL是針對某一個具體的工程的,是以必須先建立Django工程。
打開cmd,随便進入一個檔案夾(最好是標明一個存放工程的目錄),然後執行指令django-admin startproject projectname,projectname是你的工程的名字,任意起。然後再執行指令django-admin startapp appname來建立一個APP,這裡最好是将APP目錄設定在你的project目錄下,比如我的:
此時我的test_project工程下目錄結構如圖:
Django工程架構建好了,我們想要跟MySQL關聯,必須要先下載下傳python-mysqldb的配置接口,因為我這裡使用的是python3.x,是以要安裝PyMySQL。打開cmd,在任意路徑下執行指令pip install PyMySQL。如果你使用的是python2.x,則要執行指令pip install mysql-python。安裝完後,在任意路徑下依次執行python,import pymysql指令,如果報錯,則安裝出錯,如果如下圖所示,則安裝成功:
PyMySQL安裝完畢後,我們要将工程與mysql進行關聯,注意,我們要關聯的是某個具體的庫,是以首先必須要先建立好一個資料庫。建庫建表的過程自行百度,在此不贅述,建議使用MySQL workbench。
我這裡建立了一個庫,名叫“helloworld”。
然後用我們心愛的sublime Text3打開剛才用Django建好的工程,打開其中的settings.py檔案。這個是架構的配置檔案,我們要對其中的DATABASES配置進行修改。如下:
mysql驅動是django.db.backends.mysql,其他資料庫驅動自行百度。因為我們的資料庫都設在本機,是以就使用本機位址127.0.0.1即可。資料庫服務端口如果你沒改過的話,預設端口就是3306。
至此,Django+MySQL的開發環境就算是配置好了。
五、運作調試
說配置好了,總不能騙大家,我們來驗證一波。
打開cmd,進入你的工程根目錄下,執行指令python manage.py runserver 0.0.0.0:8000,結果報錯了!!!如下:
這是怎麼回事?它報錯Error loading MySQLdb module.仔細一想,也對,我們剛才import的是pymysql,它無法識别。也好辦,我們的工程目錄下最初始有一個檔案夾,和我們的工程名一樣的那個,其目錄下有一個檔案__init__.py,在其中添加
import pymysql
pymysql.install_as_MySQLdb()
儲存,重新開機服務。
這時,你會發下結果跟剛才不一樣了,如下:
如果你的顯示結果跟我這個一樣,恭喜你服務啟動成功,不信的話在浏覽器輸入http://127.0.0.1:8000/,如果你的頁面顯示是這個:
那就說明真的沒毛病了!恭喜!
六、小結
至此隻是基本的架構搭建完成,至于Django架構的使用個人感覺和Java springMVC差不太多。Django雖然是目前最受歡迎的python web架構,但是其模闆功能做的不太盡如人意,有興趣的同學可以将其替換為jinja2模闆,效率可提升數倍。不過個人認為,如果像部落客一樣隻是自己做着玩玩,就無所謂模闆了,畢竟做的東西還遠遠談不上要考慮性能……。而且,隻要掌握了一種架構,其他的邏輯都是相通的,當然了,“掌握”這個詞隻是虛指,畢竟沒人敢說自己掌握了某個架構。