1. 程式人生 > >Django專案連線MySQL資料庫

Django專案連線MySQL資料庫

一、資料庫的選擇

不管是什麼後端語言都需要跟資料打交道,對資料的增刪改查等操作,Django有自己的一套ORM操作資料庫的方式

  • 1、Django預設的資料庫是sqlite
  • 2、一般我們常用ORMmysql進行操作

二、安裝軟體

  • 1、安裝mysql(版本要大於5.5)軟體
  • 2、安裝MySQLdb(pip install MySQL-python),如果安裝失敗請嘗試下面的方法

    • 1、首先通過pip安裝wheel

      pip install wheel
    • 3、在終端進入下載好的檔案目錄下執行安裝命令pip install MySQL_python-xxxx.whl
    • 4、安裝sqlalchemy不成功可以github下載python setup.py install安裝

三、建立模型並生成資料庫

  • 1、在settings.py檔案中設定預設連線資料庫的方式(注意settings.py頭部加編碼)

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql', # 資料庫引擎
            'NAME': 'djangotest', #資料庫名稱
            'USER': 'root', # 連結資料庫的使用者名稱
            'PASSWORD': 'root', # 連結資料庫的密碼
            'HOST': '127.0.0.1', # mysql伺服器的域名和ip地址
            'PORT': '3306', # mysql的一個埠號,預設是3306
        }
    }
  • 2、將組建(App)在settings.py中註冊

  • 3、在元件(App)目錄下面都有一個models.py來寫本元件(App)的資料模型

    
    # 建立一個部落格的資料模型
    
    class BlogModel(models.Model):
        #在django中會預設生成可以不用寫這行
        id = models.AutoField(primary_key=True) 
        title = models.CharField(max_length=100, null=False)
        content = models.TextField(null=False)
  • 4、建立對映檔案

    python manage.py makemigrations
  • 5、將對映檔案中的對映到資料庫中

    python manage.py migrate

四、補充說明

  • 1、指定生成某個元件(App)下面的表

    python manage.py makemigrations 元件名稱
    python manage.py migrate 元件名稱
  • 2、修改表名字(需要重新執行上面兩步)

    
    # 建立一個部落格的資料模型
    
    class BlogModel(models.Model):
        id = models.AutoField(primary_key=True)
        title = models.CharField(max_length=100, null=False)
        content = models.TextField(null=False)
    
        #修改表名字
        class Meta():
            db_table = 'bolog'