Django(三):模板继承 创建app子应用 创建模型 同步数据 站点管理admin

目录

模板继承

1、创建一个base.html

2、修改子类模板

3、修改base页面的a标签

Web开发django模型

1、创建app子应用

2、配置子应用 安装子应用

3. 使用

4 .配置子应用管理自己的路由

Django数据库开发思维与ORM

1. 配置数据库

2. 安装 pymysql

3. 创建库

4. 编写第一个模型

5. 数据迁移 数据表结构同步

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

2.排错

3、数据迁移

4、同步表结构

5、生成表

6、数据迁移

7.创建表的时候修改默认名字

 

8、站点管理  admin

1、安装模型类

2、使用后台增加数据

3、修改站点后台为中文


 

模板继承

在实际开发当中,使用前端开发好的静态页面,页面当中有很多重复的东西,为了能够简单操作,复用代码,可以使用模板继承解决

1、创建一个base.html

base.html作为父类模板

调用base页面

提供公共的部分

方法:浏览器 检查 寻找公共的部分

2、修改子类模板

3、修改base页面的a标签

base.html 父类模板
    {% block 标识名字%}
    {%endblock%}
    
子类模板
    {% extends “base.html”%}
    {% block 标识名字%}
    {% endblock %}

模板不存在

解决思路:

  1. 检查templates目录的位置

  2. 检查配置文件中templates是否正确

  3. 检查视图调用模板文件是否正确

Web开发django模型

在django开发中,要求我们使用app进行数据库的开发

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

1、创建app子应用

activate DjangoPath  激活环境

python manage.py startapp app01  (子应用名字)

子应用目录说明

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

2、配置子应用 安装子应用

3. 使用

4 .配置子应用管理自己的路由

步骤:

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

Django数据库开发思维与ORM

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

ORM 对象关系映射

作用:

  1. 将数据库中的表名映射为类名,将字段映射为属性,可以操作类方法,类属性快速操作数据库

  2. 可以使用我们创建好的模型,帮我们创建表

  3. 无需关心具体使用的是那种数据库

1. 配置数据库

更改数据库为mysql

更改数据库为mysql

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

2. 安装 pymysql

pip install pymysql

3. 创建库

create database stu charset=utf8;

4. 编写第一个模型

数据类型
    
    CharField 字符串类型
    IntegerField 整形
    DecimalField  浮点型
    DateField 日期
    EmailField 邮箱
    TextField  文本类型
    BooleanField 布尔类型

django ORM会帮助我们自动创建一个主键

5. 数据迁移 数据表结构同步

 

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

python manage.py check

2.排错

原因:django 模式使用python2 版本的mysql数据库模块,python3 使用的是pymsql模块

解决方法:

第二个错误

原因:django默认检测pymysql的版本,修改源码,去掉检测

解决办法:

3、数据迁移

python manage.py makemigrations

错误:

AttributeError:'str' object has no attribute 'decode'

原因:python3中字符串没有decode

解决方案

4、同步表结构

python manage.py migrate

5、生成表

app01-person表是根据我们写的类模型创建的表,默认名字是子应用名字-模型名字

6、数据迁移

python manage.py makemigrations appname  #生成一个迁移文件

python manage.py migrate appname  #使用迁移文件,进行表同步

7.创建表的时候修改默认名字

8、站点管理  admin

创建超级用户

python manage.py createsuperuser

1、安装模型类

2、使用后台增加数据

3、修改站点后台为中文

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值