目录
模板继承
在实际开发当中,使用前端开发好的静态页面,页面当中有很多重复的东西,为了能够简单操作,复用代码,可以使用模板继承解决
1、创建一个base.html
base.html作为父类模板
调用base页面
提供公共的部分
方法:浏览器 检查 寻找公共的部分
2、修改子类模板
3、修改base页面的a标签
base.html 父类模板
{% block 标识名字%}
{%endblock%}
子类模板
{% extends “base.html”%}
{% block 标识名字%}
{% endblock %}
模板不存在
解决思路:
-
检查templates目录的位置
-
检查配置文件中templates是否正确
-
检查视图调用模板文件是否正确
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. 配置数据库
更改数据库为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、修改站点后台为中文