导读:今天首席CTO笔记来给各位分享关于django如何使用数据库的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
如何独立使用django的数据库访问功能
1. 安装Django
[plain] view plain copy
cd Django-1.4
python setup.py install
2. 安装postgresql的客户端:
[plain] view plain copy
sudo apt-get install -y postgresql-client-9.1 python-psycopg2
3. 新建project:
[plain] view plain copy
django-admin.py startproject myproject
4. 在myproject下新建app:
[plain] view plain copy
python manage.py startapp myapp
4. 新增环境变量:
编辑/etc/profile文件,在末尾加入以下语句:
[plain] view plain copy
span style="color:#FF0000;" export PYTHONPATH=$PYTHONPATH:/home/yc/src/myproject
export DJANGO_SETTINGS_MODULE=myproject.settings/span
5.
假设数据库已经由Django的另一个应用(名称为otherapp)建好,数据库类型是postgresql,名称为mydb,位于
192.168.1.23。见好的数据库中有一个表,名称是otherapp_user,则将otherapp/models.py拷贝到myapp
/models.py。
注意检查models.py下的class user类的class Meta:部分,如果没有applabel标签,则要加上:app_label='otherapp'
再修改/home/yc/src/myproject下的settings.py文件,如下:
[plain] view plain copy
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'mydb', # 'vps2db_test1' Or path to database file if using sqlite3.
'USER': 'postgres', # Not used with sqlite3.
'PASSWORD': '123', # Not used with sqlite3.
'HOST': '192.168.1.23', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '5432', # Set to empty string for default. Not used with sqlite3.
}
}
[plain] view plain copy
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'span style="color:#FF0000;"myapp/span',
)
6. 在myapp目录下编写测试程序
[python] view plain copy
from models import user
if __name__=="__main__":
try:
u = user.objects.get(id=user_id)
except user.DoesNotExist:
print "user not exist)
return None
else:
return u
如何在django中使用多个数据库
可以啊。不过要手工写了。在配置里将数据库路径放进去。然后在module里,自己选择相应的库与相应的model做关联。
此外还可以指定表格中的字段名。另外如果上面的方法不好用,你也可以自己直接连接数据库,自己管理。
django的数据库连接是没有连接池的。 每次访问都连接一次,效率低。不过你也可以用同样的原理 ,用mysqldb之类的库,自己建立数据库连接。
django怎么使用本机mysql数据库
step 1:
修改你的django project目录下的settings.py 文件至如下所示:
其中,'NAME' 对应的 ‘db_name' 是你事先使用mysql
的命令行提示符创建的数据库名称。注意:在django使用数据库之前,你必须先创建出数据库,否则会报错。'USER'对应的'username'
还有 'PASSWORD' 对应的‘passwd'
就是你在mysql中创建的用户名和密码。如果你有多个的话,随便填一个就好。'HOST'和'PORT'默认都可以不填。
题外话: 使用用户名和密码登录mysql的方法:
首先,你需要进入 mysql/bin的目录下,也可以在.bash_profile中设置环境变量:
PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/Cellar/mysql/5.6.22/bin/
再在prompt输入 mysql -u username -p, 回车后再输入 passwd即可
step 2:
然后,在manage.py路径中使用python manage.py syncdb 试试,结果会提示你错误找不到 MySQLdb 这个module, 为什么呢, 因为 python manage.py syncdb 命令是这样工作的:
1. 在project目录的settings.py的INSTALLED_APPS元组中找到可能需要更新的APP。
2. 找到每一个APP目录中的models.py (关系定义文件),并针对变化在数据库中进行更新。
说了这么多,前面那个错误 找不到 module MySQLdb 是什么意思啊 ?
先给个图,再解释:
因为在models.py中定义关系使用的是python,而真正在数据库中操作形成model当然一定要用sql语句,所以必须要有一些功能模块
来把python语句转化成sql语句。如果你使用sqlite的话,由于sqlite和转化模块都已经由python内置了,所以直接使用不会发生错
误。但是 ”mysql语句的转化模块“ 就需要你手动加载了,这些模块放在 MySQL-python 中。
我是使用pip 安装的:
安装了之后,再使用 python manage.py syncdb就OK啦。
我使用的系统是 OS X,下面是 mysql 默认的安装路径
/usr/local/Cellar/mysql/5.6.22/
如果你想知道你的数据库文件是放在哪里的,你可以查看mysql_config文件中的ldata变量,这个变量的值就是 默认的数据库文件夹存储的路径。 我的系统中,mysql_config的完整路径是 :
/usr/local/Cellar/mysql/5.6.22/bin/mysql_config
django怎么使用mysql数据库
方法/步骤
修改setting.py里面的DATABASES元组为
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'books', #你的数据库名称
'USER': 'root', #你的数据库用户名
'PASSWORD': '', #你的数据库密码
'HOST': '', #你的数据库主机,留空默认为localhost
'PORT': '3306', #你的数据库端口
}
}
INSTALLED_APPS = (
'books',#你的数据库名称
)
在mysql里面创建books数据库
检查配置是否有语法错误
使用python manage.py sqlall books 显示mysql语法
使用python manage.py syncdb同步模型中的数据库
创建成功!
如何在Django1.6结合Python3.4版本中使用MySql
关于Django1.6中DATABASES的设置也是一样不用做任何修改,跟以前MySQLdb的时候一样,如下所示:
1 DATABASES = {
2 'default': {
3 'ENGINE': 'django.db.backends.mysql', #数据库引擎
4 'NAME': 'test', #数据库名
5 'USER': 'root', #用户名
6 'PASSWORD': 'root', #密码
7 'HOST': '', #数据库主机,默认为localhost
8 'PORT': '', #数据库端口,MySQL默认为3306
9 'OPTIONS': {
10 'autocommit': True,
11 },
12 }
13 }
最关键的一点,在站点的__init__.py文件中,我们添加如下代码:
1 import pymysql
2 pymysql.install_as_MySQLdb()
做完上述动作后,即可在django中访问mysql了。
结语:以上就是首席CTO笔记为大家整理的关于django如何使用数据库的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django如何使用数据库的相关内容别忘了在本站进行查找喔。