最近幾天在學習django框架,本以為一天內基本可以擼一遍,沒想到卻花了我兩天的時間。中途踩過一些坑,最大的坑應該是django的orm機制,今晚有空來分享一下。
1. 如果沒有安裝django,用pip安裝:
安裝指定版本:pip3 install django==1.11.5
安裝最新版本:pip3 install django或者pip3 install django
解除安裝django:pip3 uninstall django
2. 找乙個檔案目錄,建立專案:
django-admin startproject 專案名稱
3. 進入專案目錄,建立應用:
1. 在__init__.py檔案中配置資料庫:
import pymysql
pymysql.install_as_mysqldb()
如果沒有安裝pymysql,則安裝:pip install pymysql或者pip3 install pymysql
2. 在settings.py中配置資料庫
databases =
}
注意:
engine:預設的為sqlite3,這裡修改為mysql
name:資料庫名
user:資料庫賬戶
password:資料庫密碼
port:mysql資料庫預設埠3306
class visitors(models.model):
user_id = models.charfield('使用者id',max_length=64,null=false,primary_key=true,unique=true)
mac_address = models.charfield('mac位址',max_length=64,null=false)
member_level = models.integerfield('使用者等級',null=false,default=1)
community_low = models.integerfield('初級魚塘',null=false,default=1)
community_middle = models.integerfield('中級魚塘',null=false,default=0)
community_height = models.integerfield('高階魚塘',null=false,default=0)
def __str__(self):
return self.user_id
class meta:
# 定義該 model 在資料中的表名稱:
# db_table = 'visitors'
db_table = 'visitors'
注意:這個巨坑,瞬間讓我掉了好幾根頭髮
還好有前輩指定:參考django model meta選項
2. 資料庫中的表名稱
如果想自定義資料庫的表名稱,需要在 class meta 使用 db_table 引數來自定義。
如果你的資料庫表名稱是乙個sql保留字,或者它包含不允許出現在 python 變數中的字元 (比如連字元)這是沒問題的。因為 django 會自動給列名和表名新增引號。
在 mysql 中使用小寫字母作為資料庫表名稱
強烈建議你在通過 db_table 過載資料庫表名稱時,使用小寫字母,特別是當你在使用 mysql 作為後台資料庫時。
1. 終端輸入指令:python3 manage.py makemigrations
將每個應用下的models.py檔案生成乙個中間檔案並儲存在migrations
如果要遷移指定的models.py:python3 manage.py makemigrations + 應用名稱
2. 終端輸入指令:python3 manage.py migrate
將每個應用下的migrations目錄中的中間檔案同步回資料庫
3. 遷移資料庫成功:
Django 連線 Mysql 資料庫
django專案要運算元據庫,首先要和資料庫建立連線,才能讓程式中的資料和資料庫關聯起來進行資料的增刪改查操作 django專案預設使用mysqldb模組進行和mysql資料庫之間的互動操作,但是mysqldb模組對於python3.4以上的版本支援還不夠完善,所以我們要使用替代方案通過pymysq...
django 連線mysql 資料庫
1 新建乙個mysite專案 django admin startproject mysite 3 安裝mysqlclient pip install mysqlclient 4 在settings.py database中設定資料庫連線配置 databases 5 執行命令 python mana...
Django連線mysql資料庫
作業系統 mac os 在專案setting檔案中修改資料庫配置 databases 只是設定這樣的話,執行報錯nameerror name mysql is not defined 安裝mysqlclient 和pymysql pip install mysqlclient pip install...