百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

项目实战Django Web开发-4-配置mysql引擎,安装pymysql驱动

ztj100 2025-01-24 14:53 16 浏览 0 评论

本文主要讲解在 Django 中配置 mysql 引擎,安装 pymysql 驱动,使得 Django 可以访问 mysql 中的数据。

步骤:

  • 创建用户:django/12345
  • 创建数据:iorder
  • 配置数据库引擎
  • 安装 mysql 驱动 pymysql

创建新账户

在数据库里 创建账户:django,密码为:12345

cmd,打开“命令提示符”窗口,使用 cd 切换到 D:\projects\mysql-8.0.32-winx64\bin 目录,执行命令:mysql -u root -p,输入密码 root123。进入到 mysql> 模式。

查询当前MySQL服务器中的所有用户,执行以下命令:

mysql> select user from mysql.user;

使用以下命令创建一个新用户 django,密码为:12345

mysql> create user django@localhost identified by '12345';

为 MySQL 新用户授予权限,下面给出了一些最常用的权限:

  1. ALL PRIVILEGES:新帐户拥有所有特权。
  2. CREATE:帐户能够创建数据库和表。
  3. DROP:帐户能够删除数据库和表。
  4. DELETE:帐户能够从特定表中删除行。
  5. INSERT:帐户能够将行插入到特定表中。
  6. SELECT:帐户能够读取数据库。
  7. UPDATE:帐户能够更新表行。

执行以下命令,将所有权限授予新创建的用户:

mysql> GRANT ALL PRIVILEGES ON *.* TO django@localhost;

执行以下命令,为新创建的用户授予特定权限:

mysql> GRANT CREATE, SELECT, INSERT ON *.* TO django@localhost;

执行以下命令,使帐户的所有权限以立即发生更改:

mysql> FLUSH PRIVILEGES;

执行以下命令,查看用户的现有权限:

mysql> SHOW GRANTS for username;    # 例如 django@localhost;

创建数据库

SHOW GRANTS for username; # 例如 django@localhost;

执行以下命令,创建数据库:

mysql> CREATE DATABASE iorder;  #iorder 数据库名

项目中配置数据库引擎

打开
infomanagement/settings.py 文件中的 DATABASES 配置项,django默认连接sqllite。ENGINE:是指连接数据库驱动的名称,NAME是指要连接什么库,什么文件。ENGINE有以下几种情况:

  • django.db.backends.postgresql 连接 PostgreSQL
  • django.db.backends.mysql 连接 mysql
  • django.db.backends.sqlite3 连接 sqlite
  • django.db.backends.oracle 连接 oracle

如果要连接 MySQL 数据库,则需要账户名和密码,连接的配置为:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  #数据库驱动名
        'NAME': 'iorder',  #要访问的数据库名称
        'USER': 'django',  #访问数据库的用户名
        'PASSWORD': '12345',  #密码
        'HOST': 'localhost',  #数据库服务器的位置,一般默认都填127.0.0.1 或 localhost
        'PORT': '3306',  #端口
    }
}

安装 mysql 驱动 pymysql

数据库的准备工作已经全部完成了,到目前为止,在 django 中还是没办法访问 mysql的数据可的。还需要最后一步工作,就是按装 MySQL 驱动 pymysql:

按【ctrl + r】,输入 cmd,打开“命令提示符”窗口,输入如下命令:

pip install pymysql
# 直接输入 pip list 命令即可查看是否已安装 pymysql
pip list

在与 settings.py 同级目录下的 __init__.py 中,即 iorder/__init__.py 中,写入如下代码,引入模块和进行配置:

import pymysql
#使用 PyMySQL 模块连接 MySQL 数据库
pymysql.install_as_MySQLdb()


可能的异常错误

D:\Python\mysql-8.0.32-winx64\bin>mysql -u root -p

Enter password: *******

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

是 root 的密码输入错误导致的。


建议按照 项目实战Django Web开发-14-目录结构 的顺序进行学习 iorder 项目的开发过程。

源代码在 github 中:
https://github.com/cybercampus/iOrder.git

相关推荐

Vue3非兼容变更——函数式组件(vue 兼容)

在Vue2.X中,函数式组件有两个主要应用场景:作为性能优化,因为它们的初始化速度比有状态组件快得多;返回多个根节点。然而在Vue3.X中,有状态组件的性能已经提高到可以忽略不计的程度。此外,有状态组...

利用vue.js进行组件化开发,一学就会(一)

组件原理/组成组件(Component)扩展HTML元素,封装可重用的代码,核心目标是为了可重用性高,减少重复性的开发。组件预先定义好行为的ViewModel类。代码按照template\styl...

Vue3 新趋势:10 个最强 X 操作!(vue.3)

Vue3为前端开发带来了诸多革新,它不仅提升了性能,还提供了...

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

SFC单文件组件顾名思义,就是一个.vue文件只写一个组件...

前端流行框架Vue3教程:17. _组件数据传递

_组件数据传递我们之前讲解过了组件之间的数据传递,...

前端流行框架Vue3教程:14. 组件传递Props效验

组件传递Props效验Vue组件可以更细致地声明对传入的props的校验要求...

前端流行框架Vue3教程:25. 组件保持存活

25.组件保持存活当使用...

5 个被低估的 Vue3 实战技巧,让你的项目性能提升 300%?

前端圈最近都在卷性能优化和工程化,你还在用老一套的Vue3开发方法?作为摸爬滚打多年的老前端,今天就把私藏的几个Vue3实战技巧分享出来,帮你在开发效率、代码质量和项目性能上实现弯道超车!一、...

绝望!Vue3 组件频繁崩溃?7 个硬核技巧让性能暴涨 400%!

前端的兄弟姐妹们五一假期快乐,谁还没在Vue3项目上栽过跟头?满心欢喜写好的组件,一到实际场景就频频崩溃,页面加载慢得像蜗牛,操作卡顿到让人想砸电脑。用户疯狂吐槽,领导脸色难看,自己改代码改到怀疑...

前端流行框架Vue3教程:15. 组件事件

组件事件在组件的模板表达式中,可以直接使用...

Vue3,看这篇就够了(vue3 从入门到实战)

一、前言最近很多技术网站,讨论的最多的无非就是Vue3了,大多数都是CompositionAPI和基于Proxy的原理分析。但是今天想着跟大家聊聊,Vue3对于一个低代码平台的前端更深层次意味着什么...

前端流行框架Vue3教程:24.动态组件

24.动态组件有些场景会需要在两个组件间来回切换,比如Tab界面...

前端流行框架Vue3教程:12. 组件的注册方式

组件的注册方式一个Vue组件在使用前需要先被“注册”,这样Vue才能在渲染模板时找到其对应的实现。组件注册有两种方式:全局注册和局部注册...

焦虑!Vue3 组件频繁假死?6 个奇招让页面流畅度狂飙 500%!

前端圈的朋友们,谁还没在Vue3项目上踩过性能的坑?满心期待开发出的组件,一到高并发场景就频繁假死,用户反馈页面点不动,产品经理追着问进度,自己调试到心态炸裂!别以为这是个例,不少人在电商大促、数...

前端流行框架Vue3教程:26. 异步组件

根据上节课的代码,我们在切换到B组件的时候,发现并没有网络请求:异步组件:...

取消回复欢迎 发表评论: