Django 使用数据库
2010-08-18 13:27
288 查看
Django 使用数据库
概述
使用mysql
概述
DATABASE_ENGINE告诉Django使用哪个数据库引擎,如果你使用数据库和Django工作
的话,DATABASE_ENGINE必须是下面的字符串集合: (...)注意不管你使用什么数据
库,你都需要安装相应的数据库适配器,每个适配器在网上都是免费的
DATABASE_NAME告诉Django数据库名字是什么,如果你使用SQLite, 指出数据库文
件的完整的文件系统路径,如'/home/django/mydata.db'
DATABASE_USER告诉Django你连接数据库的用户名,如果你使用SQLite,这项为空
DATABASE_PASSWORD告诉Django你连接数据库的密码,如果你使用SQLite或者你的密
码为空,则这项为空
DATABASE_HOST告诉Django你连接数据库的主机,如果你的数据库和Django安装在同
一台计算机上,则这项为空;如果你使用SQLite,这项为空;MySQL在这里很特殊,如
果这项的值以'/'开头并且你使用MySQL,MySQL会通过Unix socket连接特殊的
socket;例如DATABASE_HOST = '/var/run/mysql/';如果你使用MySQL但这项的值不
是以'/'开头,那么这项的值就假设为所连接的主机
DATABASE_PORT告诉Django连接数据库的端口,如果你使用SQLite,则这项为空。否
则,如果这项为空,底层的数据库适配器会使用给的数据库的默认端口,大部分情况
下默认端口即可
一旦你输入了这些设置,测试一下你的配置:
首先在你第2章创建的mysite项目目录下运行python manage.py shell,你将会看到
进入了Python交互环境,但是眼睛是会骗人的!它和普通的python有一个重要的不
同,普通的python命令进入的是Python shell,但是前者告诉Django在启动shell前
使用哪个settings文件这是做数据库查询的主要前提,Django需要知道使用哪个
settings文件来得到数据库连接信息在后台,python manage.py shell设置了
DJANGO_SETTINGS_MODULE环境变量后面我们会解释它的微妙之处,先让我们测试一
下数据库配置:
>>> from django.db import connnection
>>> cursor = connection.cursor()
如果什么事情都没有发生,则你的数据库配置对了
使用mysql
创建数据库
# mysql -p // 提示输入root密码
...
mysql> create database ylinux; // 创建ylinux数据库
mysql> use ylinux; // 使用ylinux数据库
Database changed
mysql> show tables;
Empty set (0.00 sec)
mysql> create table visit (times bigint); // 创建一个数据存放访问量
Query OK, 0 rows affected (0.09 sec)
mysql> show tables; // 能看到多了一个表
+------------------+
| Tables_in_ylinux |
+------------------+
| visit |
+------------------+
1 row in set (0.05 sec)
mysql>
创建数据库用户ylinux对ylinux数据库有查询、插入、修改、删除权限,只能在本
机:
mysql> grant select,insert,update,delete on ylinux.* to ylinux@localhost
identified by "abc";
Query OK, 0 rows affected (0.38 sec)
以后要修用户的密码,可以用:
# mysql -uroot -p
...
mysql> use mysql
mysql> select * from user where user='ylinux';
... // 这里我们可以查看到 ylinux 的 "Host"和"User" 信息
mysql> set password for ylinux@"localhost" = PASSWORD('你的密码');
// 其中 localhost 就是上条命令常看到的。
现在配置 settings.py :
DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2',
'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'ylinux' # Or path to database file if using
sqlite3.
DATABASE_USER = 'ylinux' # Not used with sqlite3.
DATABASE_PASSWORD = 'abc' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not
used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not
used with sqlite3.
DATABASE_ENGINE告诉Django使用哪个数据库引擎,如果你使用数据库和Django工作
的话,DATABASE_ENGINE 必须是下面的字符串集合: (...)注意不管你使用什么数
据库,你都需要安装相应的数据库适配器,每个适配器在网上都是免费的
DATABASE_NAME告诉Django数据库名字是什么,如果你使用SQLite, 指出数据库文
件的完整的文件系统路径,如'/home/django/mydata.db'
DATABASE_USER告诉Django你连接数据库的用户名,如果你使用SQLite,这项为空
DATABASE_PASSWORD告诉Django你连接数据库的密码,如果你使用SQLite或者你的密
码为空,则这项为空
DATABASE_HOST告诉Django你连接数据库的主机,如果你的数据库和Django安装在同
一台计算机上,则这项为空;如果你使用 SQLite,这项为空;MySQL在这里很特殊,
如果这项的值以'/'开头并且你使用MySQL,MySQL会通过Unix socket连接特殊的
socket;例如DATABASE_HOST = '/var/run/mysql/';如果你使用MySQL但这项的值不
是以'/'开头,那么这项的值就假设为所连接的主机
DATABASE_PORT告诉Django连接数据库的端口,如果你使用SQLite,则这项为空。否
则,如果这项为空,底层的数据库适配器会 使用给的数据库的默认端口,大部分情
况下默认端口即可
view plaincopy to clipboardprint?
DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2',
'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'ylinux' # Or path to database file if using
sqlite3.
DATABASE_USER = 'ylinux' # Not used with sqlite3.
DATABASE_PASSWORD = 'abc' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not
used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not
used with sqlite3.
一旦你输入了这些设置,测试一下你的配置:
首先在你第2章创建的mysite项目目录下运行python manage.py shell,你将会看到
进入了Python交互环境,但是眼睛是会骗人的!它和普通的python有一个重要的不
同,普通的python命令进入的是 Python shell,但是前者告诉Django在启动shell
前使用哪个settings文件这是做数据库查询的主要前提,Django需要知道使用哪个
settings文件来得到数据库连接信息在后台,python manage.py shell设置了
DJANGO_SETTINGS_MODULE环境变量后面我们会解释它的微妙之处,先让我们测试一
下数据库配置:
view plaincopy to clipboardprint?
>>> from django.db import connection
>>> cursor = connection.cursor()
如果什么事情都没有发生,则你的数据库配置对了
概述
使用mysql
概述
DATABASE_ENGINE告诉Django使用哪个数据库引擎,如果你使用数据库和Django工作
的话,DATABASE_ENGINE必须是下面的字符串集合: (...)注意不管你使用什么数据
库,你都需要安装相应的数据库适配器,每个适配器在网上都是免费的
DATABASE_NAME告诉Django数据库名字是什么,如果你使用SQLite, 指出数据库文
件的完整的文件系统路径,如'/home/django/mydata.db'
DATABASE_USER告诉Django你连接数据库的用户名,如果你使用SQLite,这项为空
DATABASE_PASSWORD告诉Django你连接数据库的密码,如果你使用SQLite或者你的密
码为空,则这项为空
DATABASE_HOST告诉Django你连接数据库的主机,如果你的数据库和Django安装在同
一台计算机上,则这项为空;如果你使用SQLite,这项为空;MySQL在这里很特殊,如
果这项的值以'/'开头并且你使用MySQL,MySQL会通过Unix socket连接特殊的
socket;例如DATABASE_HOST = '/var/run/mysql/';如果你使用MySQL但这项的值不
是以'/'开头,那么这项的值就假设为所连接的主机
DATABASE_PORT告诉Django连接数据库的端口,如果你使用SQLite,则这项为空。否
则,如果这项为空,底层的数据库适配器会使用给的数据库的默认端口,大部分情况
下默认端口即可
一旦你输入了这些设置,测试一下你的配置:
首先在你第2章创建的mysite项目目录下运行python manage.py shell,你将会看到
进入了Python交互环境,但是眼睛是会骗人的!它和普通的python有一个重要的不
同,普通的python命令进入的是Python shell,但是前者告诉Django在启动shell前
使用哪个settings文件这是做数据库查询的主要前提,Django需要知道使用哪个
settings文件来得到数据库连接信息在后台,python manage.py shell设置了
DJANGO_SETTINGS_MODULE环境变量后面我们会解释它的微妙之处,先让我们测试一
下数据库配置:
>>> from django.db import connnection
>>> cursor = connection.cursor()
如果什么事情都没有发生,则你的数据库配置对了
使用mysql
创建数据库
# mysql -p // 提示输入root密码
...
mysql> create database ylinux; // 创建ylinux数据库
mysql> use ylinux; // 使用ylinux数据库
Database changed
mysql> show tables;
Empty set (0.00 sec)
mysql> create table visit (times bigint); // 创建一个数据存放访问量
Query OK, 0 rows affected (0.09 sec)
mysql> show tables; // 能看到多了一个表
+------------------+
| Tables_in_ylinux |
+------------------+
| visit |
+------------------+
1 row in set (0.05 sec)
mysql>
创建数据库用户ylinux对ylinux数据库有查询、插入、修改、删除权限,只能在本
机:
mysql> grant select,insert,update,delete on ylinux.* to ylinux@localhost
identified by "abc";
Query OK, 0 rows affected (0.38 sec)
以后要修用户的密码,可以用:
# mysql -uroot -p
...
mysql> use mysql
mysql> select * from user where user='ylinux';
... // 这里我们可以查看到 ylinux 的 "Host"和"User" 信息
mysql> set password for ylinux@"localhost" = PASSWORD('你的密码');
// 其中 localhost 就是上条命令常看到的。
现在配置 settings.py :
DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2',
'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'ylinux' # Or path to database file if using
sqlite3.
DATABASE_USER = 'ylinux' # Not used with sqlite3.
DATABASE_PASSWORD = 'abc' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not
used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not
used with sqlite3.
DATABASE_ENGINE告诉Django使用哪个数据库引擎,如果你使用数据库和Django工作
的话,DATABASE_ENGINE 必须是下面的字符串集合: (...)注意不管你使用什么数
据库,你都需要安装相应的数据库适配器,每个适配器在网上都是免费的
DATABASE_NAME告诉Django数据库名字是什么,如果你使用SQLite, 指出数据库文
件的完整的文件系统路径,如'/home/django/mydata.db'
DATABASE_USER告诉Django你连接数据库的用户名,如果你使用SQLite,这项为空
DATABASE_PASSWORD告诉Django你连接数据库的密码,如果你使用SQLite或者你的密
码为空,则这项为空
DATABASE_HOST告诉Django你连接数据库的主机,如果你的数据库和Django安装在同
一台计算机上,则这项为空;如果你使用 SQLite,这项为空;MySQL在这里很特殊,
如果这项的值以'/'开头并且你使用MySQL,MySQL会通过Unix socket连接特殊的
socket;例如DATABASE_HOST = '/var/run/mysql/';如果你使用MySQL但这项的值不
是以'/'开头,那么这项的值就假设为所连接的主机
DATABASE_PORT告诉Django连接数据库的端口,如果你使用SQLite,则这项为空。否
则,如果这项为空,底层的数据库适配器会 使用给的数据库的默认端口,大部分情
况下默认端口即可
view plaincopy to clipboardprint?
DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2',
'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'ylinux' # Or path to database file if using
sqlite3.
DATABASE_USER = 'ylinux' # Not used with sqlite3.
DATABASE_PASSWORD = 'abc' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not
used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not
used with sqlite3.
一旦你输入了这些设置,测试一下你的配置:
首先在你第2章创建的mysite项目目录下运行python manage.py shell,你将会看到
进入了Python交互环境,但是眼睛是会骗人的!它和普通的python有一个重要的不
同,普通的python命令进入的是 Python shell,但是前者告诉Django在启动shell
前使用哪个settings文件这是做数据库查询的主要前提,Django需要知道使用哪个
settings文件来得到数据库连接信息在后台,python manage.py shell设置了
DJANGO_SETTINGS_MODULE环境变量后面我们会解释它的微妙之处,先让我们测试一
下数据库配置:
view plaincopy to clipboardprint?
>>> from django.db import connection
>>> cursor = connection.cursor()
如果什么事情都没有发生,则你的数据库配置对了
相关文章推荐
- Slatstack高级技巧(二) 使用django解析salt-api获取的信息插入数据库
- django操作数据库使用中文的方法
- django 线上线下使用不同的数据库 上线:mysql 线下sqlite3 以及debug模式的开和关
- Django使用多数据库
- django数据库连接使用
- django 使用mysql数据库时,要设置数据库的编码格式
- Python的Django框架中使用SQLAlchemy操作数据库的教程
- django操作数据库使用中文的方法
- Python的Django框架中使用SQLAlchemy操作数据库的教程
- 使用Django从数据库中随机取N条记录的不同方法及其性能实测
- Django 数据库连接使用
- django一个project中使用多个数据库
- Django 使用admin来管理数据库中的内容
- Django数据库使用第一篇
- Django使用表单操作数据库
- 使用Django来清理数据库中的数据
- Django使用MongoDB非关系型数据库
- 使用django从数据库中随机取N条记录的不同方法及其性能实测
- Django1.7.2+Bootstrap3.3.0 整合九:使用数据库
- django 数据库增强工具 south 的安装使用和注意事项。。。