文章目录
一.模板继承
1.创建工程(博客)
2.配置
1.创建一个views文件
2.urls.py(路由)中导入views
3.创建templates(文件夹 存)和static (文件夹 存样式css 事件js 图片img)
3.使用静态模板
1.导入html 和 css js images
2.写入路由视图
3.调用第一个页面
只有html标签内容,但是没有css,images,js这些静态文件
4.修改静态文件的路径
ctrl+r
ctrl+f
5.修改a标签地址
二.继承
在实际开发过程中,使用前端开发好的静态页面,页面当中有着很多重复的代码,为了能够简单操作,复用代码,可以使用模板继承解决
1.创建一个base.html
base.html作为父类模板
调用base页面
提供公共的部分
方法 : 浏览器 检查 寻找公共的部分
2.修改子类模板
3.修改base页面的a标签
base.html 父类模板
{% block 标识名字%}
{%endblock%}
子类模板
{% extends “base.html”%}
{% block 标识名字%}
{% endblock %}
模板不存在
解决思路:
1.检查tenolates目录的位置
2.检查配置文件中templates是否正确
3.检查视图调用模板文件是否正确
三.Web开发Django模型
在Django开发中,要求我们使用app进行数据库的开发
在一个web项目中,比如电商项目,电商项目中有用户管理模块,订单管理快,商品管理模块,日志管理等模块放在同一个urls,views中不方便管理,Django 给我们提供了子应用,将独立的功能进行独立管理,将独立的模块放在同一个app当中,包括该模块的路由,视图,html,静态资源。
1.创建app子应用
python manage.py startapp app01 创建子应用
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.配置数据库
更改数据库为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 布尔类型
5.数据迁移 数据表结构同步
1.在数据库迁移之前,确定配置是否完成
python manage.py check
2.排错
第一个错误:
原因:django 模式使用python2 版本的mysql数据库模块,python3 使用的是pymsql模块
解决方法:
第二个错误
原因:django默认检测pymysql的版本,修改源码,去掉检测
解决办法: