django如何连接mysql数据库(django怎么连接数据库)

导读:今天首席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数据库(django怎么连接数据库)  第1张

如何查看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(替换@) 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023-09-23 13:14
下一篇 2023-09-23 13:14

相关推荐

发表回复

登录后才能评论