Django继承和加载模板

一、项目基础

创建项目

Django继承和加载模板

shift+鼠标右键---》在此处打开命令窗口

Django继承和加载模板

 **anaconda

Django继承和加载模板

创建项目

Django继承和加载模板

 file---》setting---》project Interpreter

Django继承和加载模板 修改为沙箱环境

Django继承和加载模板

Django继承和加载模板 

Django继承和加载模板

新建视图文件,还有存放静态资源的static文件夹以及存放HTML的templates文件夹 

 Django继承和加载模板

进行settings配置

Django继承和加载模板 

Django继承和加载模板 

导入项目模板

Django继承和加载模板

建立视图文件

Django继承和加载模板

添加视图对应的路由

Django继承和加载模板

启动服务

Django继承和加载模板

修改编码方式

Django继承和加载模板

在网页中加载about.html

Django继承和加载模板

这样就避免了以下错误

'utf-8' codec can't decode byte 0xc4 in position 158: invalid continuation byte

同时我们也看到上面的网页样式乱,这是由于路径发生了变化,因此需要改变路径

Django继承和加载模板

在浏览器中打开 

Django继承和加载模板

但是图片没有加载出来也是路径的问题,我们再次修改路径

Django继承和加载模板

Django继承和加载模板

二、继承

所谓继承就是先将几个网页相同部分提取出来形成一个模板html,而后写新的网页时直接用extends继承,在将新网页的新内容写在block块里即可。

继承多使用在博客类似的网页中。

新建base.html

Django继承和加载模板

 将about.html中的内容拷贝过去,此时我们保留顶部和下部,并引入content块

Django继承和加载模板

 listpic.html继承base.html,保留自己中间的部分,注意这里修改时要先将编码修改为utf8重新加载一遍,再删除头和尾

Django继承和加载模板

修改视图文件 

Django继承和加载模板

 修改对应路由

Django继承和加载模板

在浏览器中运行

Django继承和加载模板 但图片未加载

如上面图片的处理方法修改图片路径即可

Django继承和加载模板

最终效果

Django继承和加载模板 

三、加载

所谓加载就是将相同的部分保留下来,再在其中加载不同的内容,这里不同的内容使用include包含进来即可。

加载多使用在例如QQ空间,左边上边的导航切换且固定,只是右下角内容部分随着鼠标移入的导航不同内容也不同的情况。

被加载页

只保留不同的部分

Django继承和加载模板

加载页 

保留头和尾,加载被加载页的内容

Django继承和加载模板 

添加视图文件 

Django继承和加载模板 

添加路由文件 

 Django继承和加载模板

在浏览器中运行 

Django继承和加载模板