django连接mysql数据库(python中如何用Django连接数据库(图文))
很多朋友对于django连接mysql数据库和python中如何用Django连接数据库(图文)不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
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数据库
这篇文章主要为大家详细介绍了Django配置mysql数据库的详细步骤,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Django项目默认使用sqlite数据库,但是我想用mysql数据库,应该如何配置呢。
Django连接mysql数据库的操作,是通过根模块的配置实现的,在项目根模块的配置文件settings.py中,我们可以查询到如下DATABASES的配置信息:
DATABASES={
'default':{
'ENGINE':'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR,'db.sqlite3'),
}
}解释一下上面代码的意思:
ENGINE:用于特定的数据库引擎的配置,不同的数据库字段不同,常见的有:
django.db.backends.postgresql# PostgreSQL
django.db.backends.mysql# mysql
django.db.backends.sqlite3# sqlite
django.db.backends.oracle# oracleNAME:是指要连接的数据库名字
django的文档中有说明,想使用mysql的话需要安装Python的db API DRIVER即数据库接口驱动,常用的数据库驱动接口有三种,mysqldb、pymysql、mysqlclient。但是但是MYSQLdb不支持python3,官方推荐使用mysqlclient。因此本文也是采用mysqlclient。好了废号不多说,开始今天的Django配置mysql之旅。
第一步:下载mysqlclient
pip install mysqlclient
第二步:创建一个数据库,比如我创建了一个blog数据库,你可以用命令创建,也可以用可视化工具(Navicat Premium)进行创建,命令创建数据库代码:
CREATE DATABASE blog(database_name) CHARACTER SET UTF8;
#指定数据库的编码utf8第三步:在settings.py中配置mysql连接参数,如下:
DATABASES={
'default':{
'ENGINE':'django.db.backends.mysql',
'NAME':'blog',
'USER':'root',
'PASSWORD':'kong1234,',
'HOST':'127.0.0.1',
'PORT':'3306',
}
}USER:数据库登录的用户名,mysql一般都是root
PASSWORD:登录数据库的密码,必须是USER用户所对应的密码
HOST:由于一般的数据库都是C/S结构的,所以得指定数据库服务器的位置,我们一般数据库服务器和客户端都是在一台主机上面,所以一般默认都填127.0.0.1
PORT:数据库服务器端口,mysql默认为3306
HOST和PORT都可以不填,使用默认的配置,但是如果你有更改默认配置的话,就需要填入更改后的
其实这样基本上完成了,为了更好地说明,举个实例进行演示一下数据的操作。
第四步:在你创建的应用中models.py创建model类。
比如我在我的blog应用下的,models.py中创建一个类,代码如下:
from __future__ import unicode_literals
from django.db import models
class Article(models.Model):
title= models.CharField(max_length=32, default='Title')
content= models.TextField(null=True)第五步:将字段映射成数据表,执行如下命令
python manage.py makemigrations(应用名,选写)
python manage.py migrate(应用名,选写)第六步:执行python manage.py sqlmigrate应用名文件id
查看sql语句
python manage.py sqlmigrate blog 0001具体django中数据库的操作可以参考下一篇博文。
python中如何用Django连接数据库(图文)
本篇文章给大家带来的内容是关于python中如何用Django连接数据库(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
form表单提交数据的三个要素:
1. form表单标签必须要有action和method属性;action键的值表示html页面中信息的提交地址, method键的值表示用什么方法提交
2.所有获取用户输入的标签必须放在form表单中,必须要有name属性;name键的值表示要提交的信息
3.必须要有submit按钮.
request相关属性:
request是指浏览器给服务端发送的请求.
1. request.method--返回的是请求的方法(全大写):GET POST...
注意:观看method源码得知:
在HTML页面中经常会有 method='post'之类的对method规定获取值时为小写,此时大小写都可以,当从method中取值时,'upper'会把method中的请求方法全部大写.
2. request.GET--取得URL里的参数,类似于字典的数据结构(如果用get方法提交,就要用GET获取)
3. request.POST-- post提交的数据,类似于字典的数据结构(若用post方法提交就要用POST获取)
Django的模板语言{{变量名}}
连接mysql
使用ORM(Object Relationship Model)来翻译SQL语句.
优点:开发效率高;开发不用直接写SQL语句
缺点:执行效率低
Django项目中创建app应用
在项目中创建一个Python包,不同的功能放在不同的包里,
创建app-- Python manage.py startapp app名称(例:app01)
在Django中表明创建了一个app:
在settings.py中找到INSTALLED_APPS,添加新建的app
Django中ORM的使用
用处:操作数据表操作数据行
使用:
1.手动创建一个数据库(ORM不能创建数据库)--- create databasemysite;
2.在Django中表明要连接的数据库
3.表明连接数据库的途径(利用第三方的包)
在Django中表明用pymysql模块代替默认的MySQLdb去连接MySQL数据库:
在settings.py同级的_init_.py文件中配置:
4.在app应用下的models.py文件中创建类(类名自定),该类必须继承models.Model,可以用ORM语言在创建的类中编写表结构
5.执行命令与句,完成对数据库中表的操作
python manage.py makemigrations--记录models.py中的变更,更新要对数据库进行的操作
python manage.py migrate--把变更记录翻译成SQL语句,在数据库中完成操作.
连接数据库
点击database创建数据库,连接数据库:
ORM查询
User.objects.filter(email='', pwd='')
OK,本文到此结束,希望对大家有所帮助。