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的页面展示如下图:

  • 相关阅读:
    2.12 使用@DataProvider
    2.11 webdriver中使用 FileUtils ()
    Xcode8 添加PCH文件
    The app icon set "AppIcon" has an unassigned child告警
    Launch Image
    iOS App图标和启动画面尺寸
    iPhone屏幕尺寸、分辨率及适配
    Xcode下载失败 使用已购项目页面再试一次
    could not find developer disk image
    NSDate与 NSString 、long long类型的相互转化
  • 原文地址:https://www.cnblogs.com/schblog/p/11967150.html
Copyright © 2011-2022 走看看