导读:今天首席CTO笔记来给各位分享关于django如何连接mysql数据库的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
如何在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了。
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同步模型中的数据库
创建成功!
如何查看django与mysql数据库连接
创建mysite目录
django-admin.py startproject mysite这个命令作用是:这将创建在当前目录创建一个mysite目录
前提是从命令行上cd到你想储存你代码的目录,然后生成各种子目录.
首先需要注意的是文件目录
这里面的文件大致作用:
books这个 文件夹存放的是新建数据库的各种信息
books/templates这个目录下装的是网页的布局,当然这个网页的布局就是show.html所提供
books/views.py定义函数,并且把show.html引入进去,文件内容如下:
from django.shortcuts import render,render_to_response
from django.template import loader
from books import models
# Create your views here.
def show(request):
# publisher_list = [{\'name\':\"gongye\",\'city\':\'beijing\'}]
publisher_list = models.Publisher.objects.all()
return render_to_response(\'show.html\',{\'publisher_list\':publisher_list})
12345678910111213
books/models.py文件存放的是你所创建的数据库,代码如下:
#coding=utf-8
from __future__ import unicode_literals
from django.db import models
# Create your models here.
class Publisher(models.Model):
name = models.CharField(max_length = 30)
address = models.CharField(max_length = 50)
city = models.CharField(max_length = 60)
state_province = models.CharField(max_length = 30)
country = models.CharField(max_length = 50)
website = models.URLField()
# __unicode__这个函数用来返回某个值可以很好的用于查询和admin界面的显示
def __unicode__(self):
return self.name
class Author(models.Model):
first_name = models.CharField(max_length = 30)
last_name = models.CharField(max_length = 40)
email = models.EmailField(blank = True,verbose_name = \'e-mail\')
def __unicode__(self):
return u\'%s %s\'%(self.first_name,self.last_name)
class Book(models.Model):
title = models.CharField(max_length = 100)
author = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField(blank = True,null = True)
def __unicode__(self):
return self.title
123456789101112131415161718192021222324252627282930313233
books下其他的文件就是在创建的过程中自己产生的.
website/templates文件里存放的是各种显示的静态网页布局,这么多html文件,只要你在访问测试的时候,端口号后面加上html的文件名字就行.比如,我要访问templates/base.html文件,输入网址:localhost:8000/base就可以.
website/settings.py文件是Django的设置文档,里面的INSTALLED_APPS添加多个应用,比如这里面我九添加了books应用,代码如下:
INSTALLED_APPS = [
\'django.contrib.admin\',
\'django.contrib.auth\',
\'django.contrib.contenttypes\',
\'django.contrib.sessions\',
\'django.contrib.messages\',
\'django.contrib.staticfiles\',
\'books\',
Django教程-02连接初始化数据库
Django教程——01安装使用
在上面一篇文章里,介绍了安装Django的方法,这里说说连接数据库吧
这篇主要介绍踩的坑和解决办法
正常连接和初始化数据库的命令是
执行这个命令的时候,出现了如下报错
经过一段排查,是我配置数据库的时候,多嵌套了一层default,修改为如下即可
然后继续执行migrate时,会报如下错误
本机环境是mac电脑,按官方教程操作的时候,发现安装mysqlclient的python包会依赖本机安装mysql或者mysql-client,但在装mysql和mysql-client的时候,发现一直报错。后面发现解决办法是,在settings.py文件里,加下如下代码,即改用pymsql连接即可。
或者在settings.py同目录的__init__.py里加如上代码也可以
然后再执行python manage.py migrate命令会发现表顺利创建。新增表,不影响原有库的其他表。
django连接mysql数据库\'connection refused\'的解决
settings.py正常,mysql的配置文件也改过了。问题出在没有指定读取的配置文件,
修改 aettings.py :
迁移成功。
之前使用redis时,也发生过类似问题,要手动指定配置文件。
结语:以上就是首席CTO笔记为大家介绍的关于django如何连接mysql数据库的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。
以上内容为新媒号(sinv.com.cn)为大家提供!新媒号,坚持更新大家所需的互联网后端知识。希望您喜欢!
版权申明:新媒号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 k2#88.com(替换@) 举报,一经查实,本站将立刻删除。