django—資料庫設定

櫻桃小丸子發表於2019-02-16
  1. 首先定義資料庫的表名和欄位
  2. 啟動mysql資料庫 bash mysql.server start
  3. 安裝pymysql pip install pymysql

PyMySQL 是在 Python3.x 版本中用於連線 MySQL 伺服器的一個庫,Python2中則使用mysqldb。

  1. 在_init_.py檔案中加入如下程式碼:

import pymysql
pymysql.install_as_MySQLdb()

  1. 新建資料庫
    mysql -u root -p 登入root
    show databases 顯示資料庫
    create database mysite 建立資料庫
  2. settings.py配置資料庫:

1)django預設使用的是sqlite資料庫
2)修改settings.py檔案的DATABASES選項進行資料庫的配置
3)設定想要使用的資料庫。比如mysql
DATABASES = {

`default`: {
    `ENGINE`: `django.db.backends.mysql`,
    `NAME`: `mysite`,
    `USER`: `root`,
    `PASSWORD`: `12345678`,
    `HOST`: `localhost`,
    `PORT`: `3306`,
}

}

  1. 建立app

一個專案中可以建立多個app
使用命令 python manage.py startapp myApp,後生成myApp目錄以及相關檔案。
admin.py 站點配置
models.py 定義模型
views.py 定義檢視

  1. 啟用app

1)在settings.py檔案中將app名稱myApp應用加入到INSTALLED_APPS
INSTALLED_APPS = [

`django.contrib.admin`,
`django.contrib.auth`,
`django.contrib.contenttypes`,
`django.contrib.sessions`,
`django.contrib.messages`,
`django.contrib.staticfiles`,
`myApp`,

]
2)定義模型,一個資料庫表對應一個模型。
在models.py中加入類似如下:
class Grades(models.Model):

gname = models.CharField(max_length=20)
gdate = models.DateTimeField()
ggirlnum = models.IntegerField()
gboynum = models.IntegerField()
isDelete = models.BooleanField(default=False)

ps:不用定義主鍵,後面會自動生成。

3)在資料庫中生存資料庫表
python manage.py makemigrations
python manage.py migrate

這樣在資料庫中即生成了與models對應的資料庫表,但是表的內容是空的。

相關文章