在激活的环境下,创建工程
activate DjangoPath
django-admin startproject ArticleBlog
1. 导入html和css,js,images
2. 写路由和视图
3. 调用第一个页面
只有html标签内容,但是没有css,image,js这些静态文件
4. 修改静态文件的路径
快捷键 | 作用 |
---|---|
ctrl + r | 上面的框输入要查找的内容,下面的框输入替换内容,全部替换 |
ctrl + f | 查找当前文件的内容 |
shift +ctrl+f | 查找工程文件中所有输入内容 |
5. 修改a标签地址
在实际开发当中,使用前端开发好的静态页面,页面当中有很多重复的东西,为了能够简单操作,复用代码,可以使用模板继承解决
1. 创建一个base.html
base.html作为父类模板
2. 使用base模板提供公共的部分
方法:浏览器 检查 寻找公共的部分
找到公共的部分用作继承,不同的用占位代替
删除不同的,用占位代替
模板中的替换成功
3. 修改子类模板
4. 修改base页面的a标签(父类模板中修改公共部分调用有错的部分)
5. 子类模板中继承父类和写独有部分的格式
base.html 父类模板
{% block 标识名字%}
{%endblock%}
子类模板
{% extends “base.html”%}
{% block 标识名字%}
中间写入不同的部分
{% endblock %}
在django开发中,要求我们使用app进行数据库的开发
在一个web项目中,比如电商项目,电商项目中有用户管理模块,订单管理模块,商品管理的模块,日志管理等模块放在同一个 urls,views中不方便管理,djangp给我们提供了子应用,将独立的功能进行独立管理,将独立的模块放在同一个app当中,包括该模块的路由,视图,html,静态资源。
(例如一个urls中存放过多,使用和查找起来不方便,就把同一类的放在一个子应用中,工程目录里的urls导入include来使子目录的urls可以调用成功)
在激活的虚拟环境中创建app01子应用
activate DjangoPath
python manage.py startapp app01
python manage.py startapp app01
app01 是子应用的名字
文件名 | 含义 |
---|---|
migrations | 数据迁移文件,数据库表结构的同步的 |
admin.py | 站点管理,django后台自带admin后台管理文件 |
apps.py | 配置当前子应用的相关信息 |
model.py | 模型定义文件 |
tests.py | 用于开发测试应用,项目功能测试文件 |
views.py | app的视图文件 |
1. 子应用中创建urls.py
2. 主目录中导入include
path('app01/', include('app01.urls'))
Django鼓励开发人员进行相对独立的模块开发,这种开发模式在工作中被称为:解耦合,就是指在开发中将项目看成几个独立的模块进行开发,降低模块之间的耦合性。在这种思路下,django数据开发采用了mvc和mvt设计模式,和ORM机制
更改数据库为mysql
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'stu', ## 库名
'USER': 'root', ## 用户名
'PASSWORD': '123123',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
pip install pymysql
create database stu charset=utf8;
数据类型 | 对应含义 |
---|---|
CharField | 字符串类型 |
IntegerField | 浮点型 |
DateField | 日期 |
EmailField | 邮箱 |
TextField | 文本类型 |
DecimalField | 浮点型 |
BooleanField | 布尔类型 |
1.在数据迁移之前,确定配置是否完成
python manage.py check
第一个错误
原因:django 模式使用python2 版本的mysql数据库模块,python3 使用的是pymsql模块
解决方法:
第二个错误
原因:django默认检测pymysql的版本,修改源码,去掉检测
① 创建迁移文件
python manage.py makemigrations (创建迁移文件)
解决方案:
执行成功
② 同步表结构
数据库查看
app01-person表是根据我们写的类模型创建的表,默认名字是 子应用名字-模型名字
python manage.py makemigrations appname 生成一个迁移文件
python manage.py migrate appname 使用迁移文件,进行表同步
写appname是迁移指定的models里面创建的了,不写的话迁移全部的
创建表的时候修改默认名字
另一种输入数据迁移代码的方式
在里面输入
makemigrations 生成一个迁移文件
migrate 使用迁移文件,进行表同步
第一步:先在python中创建超级用户(如果没有创建用户的话,有的话忽略)
输入用户名,邮箱和密码
安装模型类 站点管理的类模型加入class Person
运行代码,在地址栏
使用后台增加数据,加入数据并保存
添加成功