前言
Django作為重量級的Python web框架,在做項目時肯定少不了與數據庫打交道,編程人員對數據庫的語法簡單的還行,但過多的數據庫語句不是編程人員的重點對象。因此用ORM來操作數據庫相當快捷。今天來介紹一下用ORM操作數據庫。
一、創建Django項目
可以使用pycharme專業版直接快速創建。如果不是專業版也可以使用命令進行創建。下面列出命令行創建方式:
django-admin startproject orm_test
這時會在當前目錄創建文件夾名為orm_test,接下來進入orm_test文件夾中,執行命令:
python manage.py runserver
就啟動了該項目,默認瀏覽器訪問127.0.0.1:8000就可以看到項目運行成功的提示。
接下來我們用命令在項目中創建一個應用:
django-admin startapp cmdb
此時基本準備就做好了。
二、修改配置文件
把我們的應用即cmdb添加到 setting.py 的 INSTALLED_APPS 中:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'cmdb', #我們創建的應用]
另外我們基本用的是mysql數據庫,但django中默認為sqlite3。仍然在setting.py中找到 DATABASES ,對內容進行修改:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'orm_test', #數據庫名稱 'USER':'root', #用戶 'PASSWORD':'123456', #密碼 'HOST':'localhost', #IP地址,本地測試為localhost 'PORT':'3306', #端口號 }}里面的“NAME”的值是你數據庫中已有的數據庫名稱,接下里在此數據庫中創建數據表。
在python3 中,連接數據庫的是pymysql,因此在項目同名文件夾下的__init__.py 中加入以下代碼才能正常運行。
import pymysql pymysql.install_as_MySQLdb()
三、寫模板文件來創建表結構
在應用(cmdb)的 models.py 中開始寫表結構,我們要做的就是寫一個類,類中的屬性為表中的列,ORM將類轉換為sql語句。簡單的寫一個下面的類,包含用戶名和密碼兩列。
from django.db import models# Create your models here.class users(models.Model): username=models.CharField(max_length=32) password=models.CharField(max_length=64)
四、生成數據表
在終端中輸入命令行 python manage.py makemigrations ,這時會在應用(cmdb)下的migrations文件夾下出現一個_initial.py 的文件,它記錄著生成數據表結構的一些數據的臨時文件,接著在命令行中輸入 python manage.py migrate,由剛才的臨時文件生成數據表。我們在數據庫中查看生成的數據表,可以看到django生成的不僅僅是剛創建的一個表,而是十多個表,除自己的一張表,剩余為django內部使用(包含有緩存,cookie,session等,畢竟這么厲害的框架為你做到你想不到的是應該的)。在終端中查看一下表結構:show create table cmdb_users;
新聞熱點
疑難解答