您当前的位置: 首页 >  数据库
  • 0浏览

    0关注

    214博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Django(三):创建子应用+ORM连接数据库+后台站点管理

不愿透露姓名の网友 发布时间:2019-09-10 21:25:57 ,浏览量:0

文章目录
  • 一、创建app子应用
    • 1.为何要创建app?
    • 2.创建子应用
    • 3.配置子应用的路由
  • 二、ORM 对象关系映射(object relation mapping)
    • 1.配置mysql数据库
    • 2. 安装 pymysql模块并且创建库
    • 3.创建模型
    • 4. 数据迁移
    • 5.修改数据表名字
  • 三、后台站点管理

一、创建app子应用 1.为何要创建app?

在django开发中,我们一般使用app进行各个模块的开发。在一个web项目中,比如电商项目,电商项目中有用户管理模块,订单管理模块,商品管理的模块,日志管理等模块放在同一个 urls,views中不方便管理,因此django给我们提供了子应用,将独立的功能进行独立管理,将独立的模块放在同一个app当中,包括该模块的路由,视图,html,静态资源。

2.创建子应用

在命令行输入:

activate DjangoPath  #保证在虚拟环境中
python manage.py startapp app01     #app01 是子应用的名字

会生成一个app01的目录 在这里插入图片描述 创建出来的子应用目录文件虽然被放到了工程项目目录中,但是django工程并不能立即直接使用该子应用,需要注册安装后才能使用。在工程配置文settings.py中,INSTALLED_APPS项保存了工程中已经注册安装的子应用,初始工程中的INSTALLED_APPS如下: 在这里插入图片描述

子应用目录名称及其意义

migrations     数据迁移文件,数据库表结构的同步的
admin.py       站点管理
apps.py        配置当前子应用的相关信息
model.py       模型
tests.py       用于开发测试应用
views.py       视图文件
3.配置子应用的路由

如果不配置路由的话,我们这样使用 在这里插入图片描述 但是由于后期会有多个模块,配置各个模块的路由方便管理,因此需要配置,步骤如下:

子应用中创建urls.py
主目录中导入include
	path('app01/', include('app01.urls'))

在这里插入图片描述

二、ORM 对象关系映射(object relation mapping)

Django鼓励开发人员进行相对独立的模块开发,这种开发模式在工作中被称为:解耦合,就是指在开发中将项目看成几个独立的模块进行开发,降低模块之间的耦合性。在这种思路下,django数据开发采用了mvc和mvt设计模式,和ORM机制

在这里插入图片描述 特点:

  • 将数据库中的表名映射为类名,将字段映射为属性,可以操作类方法,类属性快速操作数据库
  • 可以使用我们创建好的模型,帮我们创建表,无需关心具体使用的是那种数据库
1.配置mysql数据库

settings.py修改配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'stu',    ## 库名
        'USER': 'root',   ## 用户名
        'PASSWORD': '123123',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

在这里插入图片描述

2. 安装 pymysql模块并且创建库

可以在pycharm中的命令行输入

pip install pymysql

在这里插入图片描述 打开mysql窗口先要创建一下表

create database stu charset=utf8;
3.创建模型

在models.py创建模型 在这里插入图片描述 django ORM会帮助我们自动创建一个主键 在这里插入图片描述

4. 数据迁移

1. 在数据迁移之前,确定配置是否完成

python manage.py check

2.排错

第一个错误 在这里插入图片描述 原因:django 模式使用python2 版本的mysql数据库模块,python3 使用的是pymsql模块

解决方法: 在这里插入图片描述 第二个错误 在这里插入图片描述

  • 原因:django默认检测pymysql的版本,修改源码,去掉检测
  • 解决办法:删掉或注释 在这里插入图片描述

3.数据迁移 ①命令行输入命令

python manage.py makemigrations

②排错 在这里插入图片描述

  • 原因: python3当中 字符串没有 encode
  • 解决方案:将decode改为encode

在这里插入图片描述 ③执行成功 在这里插入图片描述 ④同步表结构

python manage.py migrate

在这里插入图片描述 数据库生效 在这里插入图片描述

5.修改数据表名字

在这里插入图片描述 再进行数据迁移

三、后台站点管理

1.命令行输入创建超级用户,并输入用户名和邮箱和密码

python manage.py createsuperuser

2.进入后台站点

运行项目,地址加入admin 在这里插入图片描述

3.安装模型类 在创建的类中将类名传入admin 在这里插入图片描述

4.使用后台管理可以管理数据 在这里插入图片描述

5.修改站点管理后台为中文 在这里插入图片描述

关注
打赏
1657102503
查看更多评论
立即登录/注册

微信扫码登录

0.0400s