zoukankan      html  css  js  c++  java
  • 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的页面展示如下图:

  • 相关阅读:
    git fetch, merge, pull, push需要注意的地方
    记录一次数据库驱动配置引发的惨案
    IntelliJ Idea 常用快捷键列表
    数据库设计范式
    windows下mysql服务常用操作
    开源协议知多少
    Error creating bean
    Validation failed for query for method
    Not supported for DML operations
    404
  • 原文地址:https://www.cnblogs.com/schblog/p/11967150.html
Copyright © 2011-2022 走看看