django 默认支持sqlite、mysql、oracle、postgresql数据库,像db2和sqlserver之类的数据库需要第三方的支持,具体详见:
https://docs.djangoproject.com/en/1.10/ref/databases/
环境准备
- 使用命令行创建hello_django 项目与hello app
django-admin startproject hello_django cd hello_django django-admin startapp hello
- 使用pycharm导入
MYSQL介绍与连接配置
1.mysql 引擎名称介绍:
django.db.backends.mysql
2.mysql 驱动程序介绍:
MySQLdb(mysql-python):https://pypi.python.org/pypi/MySQL-python/1.2.5
PyMySQL(纯python的mysql驱动-推荐) :https://pypi.python.org/pypi/PyMySQL
演示pymysql的使用
1.安装:
pip install pymysql
2.数据库连接配置 setting.py
DATABASES = {
\'default\': {
\'ENGINE\': \'django.db.backends.mysql\',
\'NAME\': \'hello_django_db\',
\'USER\':\'root\',
\'PASSWORD\':\'123456\',
\'HOST\':\'\',
\'PORT\':\'\',
}
}
3.创建数据库 hello_django_db
4.编辑hello_django\__init__.py
import pymysql pymysql.install_as_MySQLdb()
5.配置完毕,可运行项目
ORM机制
1.定义
对象关系映射(ORM),用于实现面向对象编程里不同类型系统的数据之间的转换。换句话说,就是用面向对象的方式去操作数据库的创建表,增加、修改、删除、查询等操作。
2.演示ORM生成的sql语句。
A、查看QuerySet中的query属性
def hello(request):
user_list=User.objects.all()
print user_list.query
...
B、配置日志系统,将sql显示到控制台,setting.py
LOGGING = {
\'version\': 1,
\'disable_existing_loggers\': False,
\'handlers\': {
\'console\': {
\'level\': \'DEBUG\',
\'class\': \'logging.StreamHandler\',
},
},
\'loggers\': {
\'django\': {
\'handlers\': [\'console\'],
\'level\': \'DEBUG\',
\'propagate\': True,
},
},
}
更多详情见:https://docs.djangoproject.com/en/1.10/topics/logging/