网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

django连接数据库的方法-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

创新互联网站建设由有经验的网站设计师、开发人员和项目经理组成的专业建站团队,负责网站视觉设计、用户体验优化、交互设计和前端开发等方面的工作,以确保网站外观精美、成都做网站、成都网站建设、成都外贸网站建设易于使用并且具有良好的响应性。

这篇文章主要介绍django连接数据库的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Django链接数据库,首先在settings.py文件中进行配置。

首先需要在 DATABASES 中进行配置,代码如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '[database_name]',
        'USER': '[username]',
        'PASSWORD': '[password]',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

注意第一个ENGINE字段需要进行修改,刚创建时默认为sqlite,由于我使用了mysql所以把它修改为如上所示,另外Django还支持许多别的数据库,可以在External Libraries -> Lib -> site-packages -> django -> db -> backends中查看。第二个字段如果使用了mysql,就只需要把使用的数据库的名字写进去,而不需要像sqlite那样写路径。

还需要在INSTALLED_APPS 中进行配置,把自己创建的app添加到列表中,这里假设app的名字叫book,则示例代码如下:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    #以上是默认的
    'book',
]

使用Django操作数据库

使用原生的sql语句

在 Django 中使用原生 sql 语句操作其实就是使用 python db api 的接口来操作。需要先安装pymysql或者 mysqlclient,这两者都可以驱动mysql的操作,区别是pymysql是纯python实现的,可以和python无缝衔接,mysqlclient底层是用C语言实现的,效率更高,也支持python3。

使用Django操作数据库需要从django.db中导入connection来获取游标,代码如下:

from django.db import connection
def get_cursor():
    return connection.cursor()

cursor比较常用的操作有execute()和fetchall()/fetchone(),execute()中写入sql语句,可以进行增删改查操作,fetchall()/fetchone()用在cursor.execute("select xxx")语句之后,可以给对象赋值查询的结果,示例代码如下:

from django.shortcuts import render
from django.db import connection
def index(request):
    cursor = get_cursor()
    cursor.execute("select id,name,author from book")
    books = cursor.fetchall()
    return render(request, 'index.html', context={'books': books})

使用ORM模型

ORM 模型一般都是放在 app 的 models.py 文件中。每个 app 都可以拥有自己的模型,并且如果这个模型想要映射到数据库中,那么这个 app 必须要放在 settings.py 的 INSTALLED_APP 中进行安装。示例代码如下:

from django.db import models
class Book(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=100, null=False)
    author = models.CharField(max_length=100, null=False)
    price = models.FloatField(null=False, default=0)

以上便定义了一个模型。这个模型继承自 django.db.models.Model ,如果这个模型想要映射到数据库中,就必须继承自这个类。这个模型以后映射到数据库中,表名是模型名称的小写形式,为 book_book ,第一个 book 是app的名字,第二个 book 是类的名字。

之后我们在命令行中执行下面的两条命令,就可以把模型映射到数据库中,第一条命令是生成迁移脚本文件,第二条命令是执行脚本文件:

python manage.py makemigrations
python manage.py migrate

需要注意的是,在 django 中,如果一个模型没有定义主键,那么将会自动生成一个自动增长的 int 类型的主键,并且这个主键的名字就叫做 id 因此其实上面Book类中的第一条语句写与不写效果是一样的。下面的代码声明了一个 Publisher 类,没有写字段id的语句,但是 django 会自动实现这一功能,代码如下:

class Publisher(models.Model):
    name = models.CharField(max_length=100, null=False)
    address = models.CharField(max_length=100, null=False)

之后在执行一次

python manage.py makemigrations
python manage.py migrate

django 就会自动把进行添加或者修改的类进行映射,非常方便。

以上是django连接数据库的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道!


名称栏目:django连接数据库的方法-创新互联
分享网址:http://bjjierui.cn/article/ioide.html

其他资讯