django+mysql

 settings.py中的配置DATABASE_ENGINE = ''

DATABASE_NAME = ''
DATABASE_USER = ''
DATABASE_PASSWORD = ''
DATABASE_HOST = ''
DATABASE_PORT = ''

注意用数据库mysql的话DATABASE_HOST这里必须填mysql.sock的绝对路径

数据库引擎设置

postgresql   PostgreSQL    psycopg 版本 1.x,http://www.djangoproject.com/r/python-pgsql/1/.
postgresql_psycopg2    PostgreSQL   psycopg 版本 2.x,http://www.djangoproject.com/r/python-pgsql/.
mysql    MySQL     MySQLdb , 
http://www.djangoproject.com/r/python-mysql/.
sqlite3    SQLite   Python 2.5+ 内建。 其他, pysqlite ,http://www.djangoproject.com/r/python-sqlite/.

ado_mssql Microsoft SQLServer adodbapi 版本 2.0.1+,http://www.djangoproject.com/r/python-ado/.

oracle    Oracle    cx_Oracle ,http://www.djangoproject.com/r/python-oracle/.1

from django.shortcuts import render_to_response
import MySQLdb
def book_list(request):
db = MySQLdb.connect(user='me', db='mydb', passwd='secret', host='localhost')
cursor = db.cursor()
cursor.execute('SELECT name FROM books ORDER BY name')
names = [row[0] for row in cursor.fetchall()]
db.close()
return render_to_response('book_list.html', {'names': names})

首先先要打开数据库service mysqld start

然后是mysql数据库建立过程:mysql -h localhost -u root -p这样打开的话密码为空,看到提示输入密码直接敲回车就好了,这样的话用户就是root,建立在本地,可以通过mysql的安装目录察看mysql_config文件来查找socket的位置,一般默认在/var/lib/mysql/mysql.sock
mypasswd
create database slqt;(slqt为数据库名称,注意;必须是英文的,否则不管有没有报错该数据库都没有成功建立)

测试mysql的django配置是否成功,进入django网站文件夹下,终端中输入python manage.py shell

输入下面这些命令来测试你的数据库配置:
>>> from django.db import connection
>>> cursor = connection.cursor()
如果没有显示什么错误信息,那么你的数据库配置是正确的。否则,你就得查看错误信息来纠正错误。

简化版使用mysql

from django.shortcuts import render_to_response
from mysite.books.models import Book
def book_list(request):
books = Book.objects.order_by('name')
return render_to_response('book_list.html', {'books': books})

自省(运行时自动识别数据库)会导致过载和有数据完整性问题。为了提供方便的数据访问API, Django需要以某种方式知道数据库层内部信息,有两种实现方式。第一种方式是用Python明确的定义数据模型,第二种方式是通过运行时扫描数据库来自动侦测识别数据模型。
第二种方式看起来更清晰,因为数据表信息只存放在一个地方-数据库里,但是会带来一些问题。首先,运行时扫描数据库会带来严重的系统过载。如果每个请求都要扫描数据库的表结构,或者即便是服务启动时做一次都是会带来不能接受的系统过载。(Django尽力避免过载,而且成功做到了这一点) 其次,有些数据库,例如老版本的MySQL,没有提供足够的元数据来完整地重构数据表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值