Django数据库与程序交互

一、MySQL环境搭建:

1.下载MySQL数据库并安装,安装教程见:https://blog.csdn.net/lala12d/article/details/82743875

2.下载数据库时,如果遇到“Windows缺少Visual C++ 2013 库,需要安装Visual C++ 2013 库”的问题,解决地址:https://blog.csdn.net/codingforhaifeng/article/details/80675498

3.pymysql是python程序连接mysql数据库的的第三方库,通过运行import pymysql 查看系统中是否有该模块,没有的话需要自行安装。

   (1)下载安装包,教程如下:https://www.cnblogs.com/iexperience/p/9510179.html

   (2)使用pip命令 安装:

二、数据库配置:

1.数据库连接库导入及数据库配置

2.设计表结构

班级表结构和学生表结构设计如下:

 三、创建应用、激活应用

在一个项目中可以创建多个应用,每个应用对应一种场景。

1.创建应用的步骤,进入Django项目目录,执行命令<python  manage.py  startapp  myApp>,创建一个名字叫myApp的应用。

 2.myApp应用的目录下.py文件的简单说明:

 3.激活myApp应用

进入到settings.py文件中,将myApp应用加入到INSTALLED_APPS选项中,见下图:

四、定义模型

定义模型是为了与数据库进行交互,一个数据表对应一个模型。

1.进入myApp目录,编辑models.py文件,输入导入代码(一般文件中已内置导入好了):from  django.db   import   models

 2.创建模型,类中属性对应数据表中的字段

五、创建数据表

1.生成迁移文件

在manage.py文件所在的目录打开cmd窗口,执行命令<python    manage.py    makemigrations>,在migrations目录下生成一个迁移文件,此时还未生成数据表

2.执行迁移(相当于执行sql语句创建数据表)

在manage.py文件所在的目录打开cmd窗口,执行命令<python    manage.py    migrate>,此时已生成数据表。

 3.进入数据库查看所生成的数据表,以及数据表中数据:

六、测试数据操作(暂在黑屏终端中执行,以后再在程序中执行)

 1. 进入python  shell:进入Django工程目录(manage.py文件所在的目录),执行命令<python  manage.py  shell>

 2. 引入包(前期准备工作,引入今后用到的)

3.  查询所有数据:

4. 添加数据(以定义的模型为基准,创建对象):

创建班级:

创建学生:

(1)如果执行代码stu.save()报错,报错内容如下:

 则需修改MySQL的编码格式,登录数据库,执行<show variables like 'character%';>命令,再执行命令<set character_set_database=utf8;>修改数据库编码格式,如下图:

 

此时再次创建数据库,创建新表,问题解决。

注意:创建数据库后应该先检查数据库的字符编码,修改为utf8,再去创建数据库和表。

(2)对于已经创建了的数据库和表。

修改数据库编码格式: Alter database 数据库名称 character set utf8 collate utf8_general_ci;

修改表编码格式: Alter table 表名称 convert to character set utf8;

查看数据库的编码格式: show create database 数据库名称;

查看表的编码格式:show create table 表名称;

详细解决方式见链接:https://www.jianshu.com/p/eca83992983a

(3)再执行<stu.save()>代码,去数据库中检查表的数据内容,如下表示成功:

5. 查询某个对象,修改对象中的某个数据,删除对象操作。

6.关联对象数据操作。

获得关联对象的集合(获取一班的所有学生),与<类名.objects.all()>不同,<类名.objects.all()>是获取某个对象下的所有对象(例如:获取所有的班级或者所有的学生)。

注意使用上图中创建stu3的方式来创建关联对象的实例时,不用使用grade1.save()来保存即可新建成功,保存到数据库中。

七、启动服务器

使用实例:进入到Django工程目录(manae.py所在的目录),执行<python  manage.py  runserver>,出现如下画面表示启动服务成功,接下来即可访问:http://127.0.0.1:8000/

该黑屏终端打开后不可关闭,否则服务也会关闭

 八、Admin站点管理

                                

 1.配置Admin应用,进入settings文件中,检查文件中INSTALLED_APPS中是否内置了管理员的配置。

2.创建管理员用户,在Django工程目录执行<python   manage.py  createsuperuser>:

创建完管理员账号后可以通过访问http://127.0.0.1:8000/admin/来检查是否可以登录成功。

3.汉化。

 进入settings.py文件,修改如下配置:

然后重启服务<python  manage.py  runserver>及汉化成功。

4.管理数据表,进入myApp应用的admin.py文件中,进行表的注册。

(1)注册表默认管理数据配置

然后刷新http://127.0.0.1:8000/admin/页面,即可更新出注册表,然后进行管理。

列表页默认配置下展示如左下图、列表页修改或添加页默认配置下展示如右下图:

(2)注册表自定义管理数据

自定义注册表管理数据时,主要设置字段有list_displaylist_filtersearch_fieldslist_per_page,fieds,fieldsetslist_per_page,fields,fieldsets

 本项目中的配置实例如下:

 列表页自定义配置下展示如左下图、列表页修改或添加页自定义配置下展示如右下图:

在实例中继续添加Students的自定义数据管理配置,如下图:

 页面中关于Students的页面展示如下图:

原文地址:https://www.cnblogs.com/schblog/p/11967150.html