django怎么连接mysql数据库(2023年最新分享)

导读:今天首席CTO笔记来给各位分享关于django怎么连接mysql数据库的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

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命令会发现表顺利创建。新增表,不影响原有库的其他表。

如何在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怎么连接mysql数据库(2023年最新分享)  第1张

结语:以上就是首席CTO笔记为大家整理的关于django怎么连接mysql数据库的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django怎么连接mysql数据库的相关内容别忘了在本站进行查找喔。

以上内容为新媒号(sinv.com.cn)为大家提供!新媒号,坚持更新大家所需的互联网后端知识。希望您喜欢!

版权申明:新媒号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 k2#88.com(替换@) 举报,一经查实,本站将立刻删除。

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

相关推荐

发表回复

登录后才能评论