django下数据库配置

1、django默认支持sqlite、mysql、Oracle、postgresql数据库,像db2和sqlserver之类的数据库之类的数据库支持需要第三方的支持。具体详见:
https://docs.djangoproject.com/en/1.9/ref/databases/

Using a 3rd-party database backend?

In addition to the officially supported databases, there are backends provided by 3rd parties that allow you to use other databases with Django:

SAP SQL Anywhere
IBM DB2
Microsoft SQL Server
Firebird
ODBC
The Django versions and ORM features supported by these unofficial backends vary considerably. Queries regarding the specific capabilities of these unofficial backends, along with any support queries, should be directed to the support channels provided by each 3rd party project.

sqlite:
django默认使用sqlite的数据库,默认自带sqlite的数据库驱动,
引擎名称:
django.db.backends.sqlite3

mysql
引擎名称:
django.db.backends.mysql

2、MySQL驱动引擎下载地址
MySQLdb(mysql-python):https://pypi.python.org/pypi/MySQL-python/1.2.5,仅仅支持Python2,Python2以后就没有更新,所以不支持Python3
mysqlclient:https://pypi.python.org/pypi/mysqlclient,是mysqldb的一个分支,支持Python3

MySQL官方驱动
Connectoer/Python: https://dev.mysql.com/downloads/connectoter/python
针对各个版本的Python都有特定的支持包

PyMySQL(纯python的mysql驱动):
http://pypyi.python.org/pypi/PyMySQL
本次课程的Python驱动采用该驱动支持

3、演示pymysql的使用
1、安装pymysql
2、修改配置文件

错误提示:
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named ‘MySQLdb‘

django用mysql数据库时,默认数据库引擎时导入mysqldb模块,所以为了不出现修改默认引擎,可以做如下操作:
import pymysql
pymysql.install_as_MySQLdb()

将上述代码加入到settings.py中的即可,我这里直接放在DATABASES上:
# Database
# https://docs.djangoproject.com/en/1.9/ref/settings/#databases
import pymysql
pymysql.install_as_MySQLdb()
DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘NAME‘: ‘hello_django_db‘,
‘USER‘:‘root‘,
‘PASSWORD‘:‘123456‘,
‘HOST‘:‘127.0.0.1‘,
‘PORT‘:‘3306‘,
}
}

接下来做数据库同步
Tools--->Run manage.py Task

makemigrations--->生成数据库脚本文件
migrate------>生成数据库表和数据

[email protected]_django > makemigrations
D:\JetBrains\bin\runnerw.exe C:\Users\Administrator\Documents\Workspace\venv\django_basic_venv\Scripts\python.exe D:\JetBrains\helpers\pycharm\django_manage.py makemigrations C:/Users/Administrator/Documents/Workspace/pycharm/hello_django
No changes detected
Following files were affected
Process finished with exit code 0
[email protected]_django > migrate
D:\JetBrains\bin\runnerw.exe C:\Users\Administrator\Documents\Workspace\venv\django_basic_venv\Scripts\python.exe D:\JetBrains\helpers\pycharm\django_manage.py migrate C:/Users/Administrator/Documents/Workspace/pycharm/hello_django
Operations to perform:
Apply all migrations: contenttypes, admin, sessions, auth
Running migrations:
Rendering model states... DONE
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying sessions.0001_initial... OK
Following files were affected
Process finished with exit code 0

原文地址:https://www.cnblogs.com/kindnull/p/8379769.html

时间: 2024-07-29 19:34:32

django下数据库配置的相关文章

Django models数据库配置以及多数据库联用设置

今天来说说web框架Django怎么配置使用数据库,也就是传说中MVC(Model View Controller)中的M,Model(模型). 简单介绍一下Django中的MVC: 模型(model):定义你的数据库,一般都在models.py文件中. 视图(view):定义你的HTML等静态网页文件相关,也就是那些html.css.js等前端的东西. 控制器(controller):定义你的业务逻辑相关,就是你的主要代码. 正文开始 首先要在你的Django项目中找到两个文件:setting

django 多数据库配置

在django项目中, 一个工程中存在多个APP应用很常见. 有时候希望不同的APP连接不同的数据库,这个时候需要建立多个数据库连接. 1. 修改项目的 settings 配置 在 settings.py 中配置需要连接的多个数据库连接串 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'sqlite3'), }, 'db01': { 'ENGINE

Django 笔记 数据库配置

在pycharm 配置数据源 前提是你要有mysql 输入数据库和用户名密码 看下测试连接 然后就可以写SQL查询语句了 先创建一个mysite的项目,并且创建一个books的app 会一波把模型和视图创建出来 先定义首页index和query2个页面 在定义首页和查询的2个程序 首页正常 Query 有递归错误

Django ORM 数据库设置和读写分离

一.Django的数据库配置 (一)修改settings.py文件关于数据库的配置: Django默认使用sqlite: # Django默认的数据库库,SQLit配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', # sqlite引擎 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } 再添加一个数据库:仿照"default"的格式直接添加: DAT

Linux下安装Python3的django并配置mysql作为django默认数据库(转载)

我的操作系统为centos6.5 1  首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包. yum install mysql mysql-devel #为了测试方便,我们需要安装sqlite-devel包 yum install sqlite-devel 2  接下来需要安装Python了,因为Python3已经成为主流,所以接下来我们要安装Python3,到官网去下载Python3

python django 站点管理 配置mysql数据库

运行命令mysql -uroot -p进入mysql 新建一个数据库mydatabase 在/mysite/mysite目录下 编辑settings.py文件: 默认数据库为sqlite: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'mydatabase', } } mysql数据库配置: DATABASES = { 'default': { 'ENGINE': 'django.db.ba

Django数据库配置

将Django使用数据库由默认的sqlite3更改为mysql: 1.安装mysql驱动程序 MySQLdb(mysql-python) mysqlclient Connector/Python PyMySQL(纯python的mysql驱动) 2.在配置文件settings.py中,修改DATABASES项 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'my_blog', 'USER': 'r

Django Setting文件配置和简单的创建数据库字段

Django Settings文件配置 静态文件配置 STATIC_URL = '/static/' # 静态文件配置 STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static') ] # 暴露给外界能够访问服务器静态文件夹下面所有的资源 STATIC_URL = '/xxx/' # 接口前缀 跟你的静态文件夹的名字一点关系都没有 # 默认情况下这个前缀跟静态文件夹名字一样!!! # 静态文件配置 STATICFILES_DIRS = [ os.pat

Django下使用mysql数据库

1. 安装 pymysql 包用作 python 和 mysql 的接口$ sudo pip3 install pymysql安装 mysql 客户端 ( 非必须 ) $ sudo pip3 install mysqlclient 2.创建 和 配置数据库1. 创建数据库创建 create database 数据库名 default charset utf8 collate utf8_general_ci;create database mywebdb default charset utf8