Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
一、Django 数据库配置
修改 settings.py 文件关于数据库的配置:
# Django默认的数据库库,SQLit配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # sqlite引擎
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
再添加一个数据库:仿照"default"的格式直接添加:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
},
'master': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'master.sqlite3'),
},
}
使用mysql,需要进行以下配置
① 编辑项目文件夹下的 settings.py 文件
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # mysql引擎
'NAME': 'BookDb',
# 数据库名称, 需要通过命令 CREATE DATABASE BookDb 在mysql命令窗口中提前创建
'USER': 'root', # 数据库用户名
'PASSWORD': 'xxx', # 数据库密码 没有密码则为空字符串
'HOST': '', # 数据库主机,留空默认为localhost
'PORT': '3306', # 数据库端口
}
}
② 编辑项目文件夹下的__init__.py ,由于mysql在Django中默认驱动是MySQLdb, 而该驱动不适用于python3, 因此,需要更改驱动为PyMySQL。
import pymysql
pymysql.install_as_MySQLdb()
二、显示 SQL 语句
ORM 是高层的面向对象的操作,转换为低层的SQL语句,如果想在终端打印对应的SQL语句,可以在settings.py中加上日志记录。
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console':{
'level':'DEBUG',
'class':'logging.StreamHandler',
},
},
'loggers': {
'django.db.backends': {
'handlers': ['console'],
'propagate': True,
'level':'DEBUG',
},
}
}