Python Django的安裝及使用
ide:pycharm
在pycharm裡面切換python版本,Files-> Default Setting->Project Interpreter,選擇執行的python版本。
web框架:Django
下面介紹Python+Django+MySQL的安裝及使用
python教程:http://www.runoob.com/python/python-tutorial.html
Django教程:http://www.runoob.com/django/django-tutorial.html
1.安裝python
Mac系統自帶python2,若要使用python3,用Homebrew安裝python3,兩個版本並存,目錄在/usr/local/Cellar/
//Homebrew的安裝很簡單,參考https://brew.sh/index_zh-cn.html
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
//按回車確認
//更新brew
brew update
//檢視python2版本
python -V
//安裝python3
brew install python3
2.安裝Django
使用easy_install安裝pip(easy_install是Python的包管理工具,類似Ruby下的gem,pip是升級版的easy_install)
sudo easy_install pip
更新pip
pip install --upgrade pip
使用pip安裝Django,
pip install django
但是,安裝時可能會出現報錯,
Command "python setup.py egg_info" failed with error code 1 in /private/tmp/pip-build-94ew6M/async-timeout/
這可能由於同時安裝了python2和python3,需要制定python版本,
這裡安裝的是python2.7那個版本的,如果需要安裝python3.5的,使用命令
//更新pip
pip3 install --upgrade pip
//安裝Django
pip3 install django
驗證安裝是否成功,執行以下命令引入Django包,如果沒有報錯就說明成功了
python3
import django
3.建立python3專案,並啟動服務
django-admin.py是一個管理工具,我們可以使用 django-admin.py 來建立一個專案
django-admin startproject <專案名稱>
cd <專案名稱>
python3 manage.py runserver
開啟地址http://127.0.0.1:8000/,會看到Django正在執行
若要指定埠號,需要以下配置
在settings.py中設定伺服器的IP地址:ALLOWED_HOSTS = [‘192.168.0.0’],然後用以下命令指定埠號執行
python3 manage.py runserver 0.0.0.0:8001
4.安裝MySQL驅動
mysql的安裝就不多說了,安裝MySQL後啟動,然後安裝驅動
sudo pip3 install mysqlclient
在專案的 settings.py 檔案中找到 DATABASES 配置項,將其資訊修改為以下內容(注意首先要在本地建立好資料庫,並檢查資料庫賬號密碼是否正確)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # or use mysql.connector.django
'NAME': 'database_name',
'USER': 'root',
'PASSWORD': '123',
'HOST':'localhost',
'PORT':'3306',
}
}
5.定義模型
Django規定,如果要使用模型,必須要建立一個app。我們使用以下命令建立一個 TestModel 的 app,在工程的根目錄下執行以下命令
django-admin.py startapp TestModel
專案目錄多了一個TestModel資料夾,
修改 TestModel/models.py 檔案,對應資料庫中的表。
類名代表了資料庫表名,且繼承了models.Model,類裡面的欄位代表資料表中的欄位(name),資料型別則由CharField(相當於varchar)、DateField(相當於datetime), max_length 引數限定長度。
# models.py
from django.db import models
class Test(models.Model):
name = models.CharField(max_length=20)
在settings.py中的INSTALLED_APPS中新增一項
'TestModel',
在命令列中執行以下命令,建立表:
python3 manage.py migrate
python3 manage.py makemigrations TestModel
python3 manage.py migrate TestModel
檢視資料庫會發現資料庫中新建立了幾個空表,接下來就可以對錶進行操作了。
資料庫備份和恢復
python3 manage.py dumpdata --format=json > bak.json
python3 manage.py loaddata bak.json
會在根目錄生成bak.json檔案