前言
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;
新闻热点
疑难解答