使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决

文章目录

  • 一、模板继承
    • 1.创建工程(博客)
    • 2.配置
    • 3.使用静态模板
    • 4.模板继承
  • 二、Web开发django模型
    • 1.创建app子应用的目的
    • 2.创建app子应用
    • 3.配置子应用 安装子应用
    • 4.使用
    • 5 .配置子应用管理自己的路由
    • 三、Django数据库开发思维与ORM
    • 1.orm的引用
    • 2.ORM 对象关系映射
    • 四、实现数据迁移
    • 1.配置数据库
    • 2.安装 pymysql
    • 3.创建库
    • 4.编写第一个模型
    • 5.数据迁移 数据表结构同步
    • 2.排错
    • 6.数据迁移
    • 7.数据迁移格式
    • 五、站点管理 admin

一、模板继承

1.创建工程(博客)


在激活的环境下,创建工程



activate DjangoPath
django-admin startproject ArticleBlog

使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第1张图片
在这里插入图片描述


2.配置


  1. 创建一个views文件
  2. urls.py 中导入views
  3. 创建templates 和static 目录
    使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第2张图片

  1. templates 和static 的配置
    使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第3张图片
    使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第4张图片

3.使用静态模板


1. 导入html和css,js,images


从文件中直接拉进去
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第5张图片
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第6张图片


2. 写路由和视图


使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第7张图片


3. 调用第一个页面


使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第8张图片
只有html标签内容,但是没有css,image,js这些静态文件


4. 修改静态文件的路径


快捷键 作用
ctrl + r 上面的框输入要查找的内容,下面的框输入替换内容,全部替换
ctrl + f 查找当前文件的内容
shift +ctrl+f 查找工程文件中所有输入内容

使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第9张图片
要替换的有img,js,css的路径


5. 修改a标签地址


使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第10张图片
要改的有很多,所以用到模板继承来替换


4.模板继承


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


1. 创建一个base.html


base.html作为父类模板

调用base页面
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第11张图片


2. 使用base模板提供公共的部分

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

找到公共的部分用作继承,不同的用占位代替
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第12张图片
删除不同的,用占位代替
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第13张图片
模板中的替换成功
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第14张图片
在这里插入图片描述
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第15张图片
在这里插入图片描述


3. 修改子类模板


继承父类模板
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第16张图片


4. 修改base页面的a标签(父类模板中修改公共部分调用有错的部分)


使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第17张图片


5. 子类模板中继承父类和写独有部分的格式


base.html 父类模板
	{% block 标识名字%}
	{%endblock%}
	
子类模板
    {% extends “base.html”%}
    {% block 标识名字%}
    中间写入不同的部分
    {% endblock %}

二、Web开发django模型


1.创建app子应用的目的


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

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

(例如一个urls中存放过多,使用和查找起来不方便,就把同一类的放在一个子应用中,工程目录里的urls导入include来使子目录的urls可以调用成功)


2.创建app子应用


在激活的虚拟环境中创建app01子应用

activate DjangoPath
python manage.py startapp app01

使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第18张图片

python manage.py startapp app01 
app01 是子应用的名字

子应用目录说明
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第19张图片

文件名 含义
migrations 数据迁移文件,数据库表结构的同步的
admin.py 站点管理,django后台自带admin后台管理文件
apps.py 配置当前子应用的相关信息
model.py 模型定义文件
tests.py 用于开发测试应用,项目功能测试文件
views.py app的视图文件


3.配置子应用 安装子应用


使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第20张图片
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第21张图片


4.使用


使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第22张图片
访问:
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第23张图片


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


使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第24张图片
步骤:

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

三、Django数据库开发思维与ORM


1.orm的引用


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


2.ORM 对象关系映射


使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第25张图片
作用:

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

四、实现数据迁移


1.配置数据库


更改数据库为mysql

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

使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第26张图片


2.安装 pymysql


pip install pymysql

3.创建库


create database stu charset=utf8;

使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第27张图片


4.编写第一个模型


使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第28张图片
数据类型

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

django ORM会帮助我们自动创建一个主键
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第29张图片


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


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

python manage.py check

2.排错

第一个错误
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第30张图片
原因:django 模式使用python2 版本的mysql数据库模块,python3 使用的是pymsql模块

解决方法:
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第31张图片
第二个错误
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第32张图片
原因:django默认检测pymysql的版本,修改源码,去掉检测

解决办法:
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第33张图片


6.数据迁移


① 创建迁移文件

python manage.py makemigrations (创建迁移文件)

使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第34张图片
原因: python3当中 字符串没有 decode

解决方案:
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第35张图片
执行成功
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第36张图片
② 同步表结构
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第37张图片
数据库查看
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第38张图片
app01-person表是根据我们写的类模型创建的表,默认名字是 子应用名字-模型名字


7.数据迁移格式


python manage.py makemigrations appname     生成一个迁移文件
python manage.py migrate  appname          使用迁移文件,进行表同步

写appname是迁移指定的models里面创建的了,不写的话迁移全部的


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


使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第39张图片


另一种输入数据迁移代码的方式
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第40张图片
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第41张图片
在里面输入
makemigrations 生成一个迁移文件
migrate 使用迁移文件,进行表同步


五、站点管理 admin


第一步:先在python中创建超级用户(如果没有创建用户的话,有的话忽略)
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第42张图片
输入用户名,邮箱和密码
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第43张图片
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第44张图片
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第45张图片


安装模型类 站点管理的类模型加入class Person


使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第46张图片


运行代码,在地址栏
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第47张图片
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第48张图片
在这里插入图片描述
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第49张图片
使用后台增加数据,加入数据并保存
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第50张图片
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第51张图片
添加成功
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第52张图片
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第53张图片
在这里插入图片描述
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第54张图片
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第55张图片
在这里插入图片描述
在这里插入图片描述


修改站点管理后台为中文:
在这里插入图片描述
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第56张图片
使用模板继承来实现静态文件的调用完成博客工程 Web开发django模型 Django数据库开发思维与ORM 实现数据迁移 站点管理 admin 子应用的配置 数据迁移报错的解决_第57张图片
改成中文成功

你可能感兴趣的:(#,python,web开发)