数据库同步工具
sqlserver,Mysql数据同步软件

原Python3——Django2新手教程5)django和数据库sqlite、mysql、多数据库)

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

我认为这篇文章对您有所帮助,请喜欢,关注和加星标。

项目资源的github地址:

https://github.com/qq20004604/Python3_Django_Demo

首先,确保已安装mysql。

如果未安装,则只能与sqlite交互。

安装方法:

您可以使用我在此处提供的mysql的docker版本。如果是Linux或MacOS系统,则可以直接运行sh文件来安装它。

https://github.com/qq20004604/docker-learning/tree/master/docker-demo-02-MySQL

您可以安装虚拟机,安装centos,然后将文件下载到虚拟机,并运行create-image-mysql.sh文件。

请参阅本文以获取有关安装虚拟机的教程:

https://blog.csdn.net/qq20004604/article/details/85080666

配置MySQL :(帐户密码来自docker版本配置)

  • 该帐户是root;
  • 密码为fwefwefvvdsbwrgbr9jj24intwev0h0nbor32fwfmv1;
  • 端口(端口)为3306;
  • IP地址是:xxx;

有两种与diango和mysql进行交互的方式:

  1. 使用内置驱动程序(默认为sqlite3,但可以将其更改为mysql),并以ORM形式与mysql交互;
  2. 使用第三方mysql-connector数据库,请参阅廖雪峰的Python3教程(链接省略,此处为github项目自述文件);或使用我自己的辅助软件包:https://github.com/qq20004604/python3-lib/tree/master/mysql_lingling

本文包含:

  • sqlite3;
  • ORM表单与mysql交互;
  • 如果有多个数据库,则与mysql交互;

通过第三方python和mysql交互使用方法,可以参考上面的两个教程。

在便利性方面,sqlite最方便,第三方也很便利。使用内置的mysql驱动程序是最麻烦的(如果版本不正确,则必须修改配置文件pit)。

8.3.1,新应用程序:

 

然后注册该应用程序,对其进行编辑,在INSTALLED_APPS中添加一个带有db的新应用程序(之前已添加了主页)

 

8.3.2,配置模型

编辑文件:

 

上面的功能是设置3个字段:id(自增),用户名,密码

8.3.3,创建表

执行命令:

 

此命令的效果等同于在应用程序(应用程序)下创建一个迁移目录并记录您的所有更改,例如,但是此更改尚未影响数据库文件。

重新执行命令:

 

此命令的作用是将上述更改应用于数据库。

8.3.4,添加路由

旧规则,修改,添加路由:

 

8.3.5。为异步请求添加处理逻辑

编辑,内容如下:

 

分为三个部分:

  1. 返回页面;
  2. 注册用户;
  3. 显示用户列表;

在第二步中,注册用户应首先查询,然后排除重复的用户名,并且仅在不重复用户名时进行注册,此处省略(因为第三步已经具有相关的逻辑,所以这只是一个教程,所以我没有写)

8.3.6,编写前端页面

在模板目录下创建user.html

内容如下:

 

两个功能:

  • 显示用户列表;
  • 注册一个新用户;

8.3.7,组合逻辑和验证

1.用户访问链接/用户/显示页面(模板/user.html);

2.页面中有两个功能:[显示用户列表]和[注册新用户]

3.显示用户列表:链接请求:,然后通过ORM表结构()读取数据库,并通过

的getusers函数返回相关信息。

4.注册用户:用户名和密码字段是通过异步请求中传递给的注册函数来处理的。注册之前,它将验证数据是否符合要求。如果不匹配,将提示错误信息,如果匹配,则将数据插入数据库。

单击页面上的刷新按钮和注册按钮,发现它可以正常运行(请参考我的代码https://github.com/qq20004604/Python3_Django_Demo)

8.4.1,简短说明

方法与8.3中的sqlite3几乎相同。唯一的区别是它存储在mysql中而不是sqlite中。

默认情况下,Django与mysql交互。 (无需手工编写sql,通过ORM形式实现数据库管理)

8.4.2,mysql驱动程序介绍

1,Python和mysql交互,需要安装驱动程序:

 

2.然后在相同级别上编辑内容并添加内容:

 

3.但是报告了错误:

 

查找N个解决方案,该解决方案可用于参考:

https://blog.csdn.net/weixin_33127753/article/details/89100552

选项二:[删除源代码的警告代码! 】(True TM暴力)

简而言之,注释掉该行报告的判断信息就足够了。

4.评论后,有一个红色字母提示:

 

表示您的应用程序数据库尚未迁移(这意味着它尚未从sqlite3迁移到mysql)。

8.4.3,配置数据库

编辑的DATABASES属性,如下所示:

 

8.4.4,数据库准备

1.在数据库中创建一个数据库(名称等于上述mysqldb配置中的NAME的值);

 

2.初始化数据库的表配置:

记录更改:

 

插入数据库:

 

3.查看数据库

输入mysql,然后检查那里有哪些表(您可以看到有一个表django_migrations),然后检查该表的内容并发现有数据。

 

8.4.5,其他配置

参见8.3.4、8.3.5、8.3.6,这一次刷新数据。

验证后,您可以发现它像sqlite版本一样正常运行。

这意味着:

  • 同时使用sqlite3和mysql;
  • 或者mysql使用其他数据库;
  • 或者直接是不同服务器的mysql数据库;

8.5.1,修改

修改,首先修改DATABASE的配置:

 

再添加两行配置:

 

上面的配置指示文件中的DatabaseAppsRouter函数用于处理路由。

并且默认情况下,不同的应用程序使用不同的数据库设置(您也可以在实际使用时手动指定要使用的数据库设置)

8.5.2。编写数据库路由功能

在同一目录中,创建一个新文件。

内容如下:

 

8.5.3,数据库准备

我们仍然需要准备数据库。

首先,您需要创建两个数据库,即:和这两个数据库。

然后执行以下三行代码以准备数据库(创建表等)

记录更改:

 

插入数据库:(后面的名称是以下DATABASES属性的键值)

 

上面的两行迁移(不带参数)仅为默认配置的那些应用程序生成表。

使用参数,生成DATABASES dict,其中键为userdb,其相关应用程序需要该表。

8.5.4,其他

在复用之前使用默认mysql配置的其他代码无需更改。

唯一需要提及的是操作数据库,我们之前使用了代码示例:

 

这是默认的指定db,我们也可以使用指定的db,如下所示:

 

源代码引用了我的github项目:(安装依赖项后,您可以直接运行)

https://github.com/qq20004604/Python3_Django_Demo

总体:

  • 与SQLite的交互相对简单,适合轻量级使用,无需修改mysql环境;
  • 与mysql的交互更为专业,但是配置环境非常复杂;
  • 对于一般的个人项目需求,如果您认为sqlite无法满足需求,则可以考虑使用第三方框架来实现该操作,例如我用于二次打包的框架;

本文的项目地址:

https://github.com/qq20004604/Python3_Django_Demo

请给我一把星叉。 github上有一个针对博客的QQ群组。

参考:

  • 省略,因为许多有错误= _ = ||

未经允许不得转载:数据库同步软件|Mysql数据同步软件|sqlserver数据库同步工具|异构同步 » 原Python3——Django2新手教程5)django和数据库sqlite、mysql、多数据库)

分享到:更多 ()

syncnavigator 8.6.2 企业版

联系我们联系我们