新建myblogtemplateslayout,该文件夹用来存放页面组件。
新增myblogtemplateslayoutnav.html
添加以下内容,nav.html则是页面头部导航条内容,由于现在还没有完成文章的逻辑,这块的文章分类暂时还不做
jumbotron.html
新增myblogtemplateslayoutjumbotron.html
添加以下内容,jumbotron.html则是页面中间的大图展示内容
footer.html寄言燕雀莫相唣
自有云霄万里高
新增myblogtemplateslayoutfooter.html
添加以下内容,footer.html则是页面底部的内容
base.html
新增myblogtemplateslayoutbase.html
base.html会通过django的template机制通过include标签引入footer.html,nav.html,jumbotron.html。同时后续的所有的页面html都会通过extend机制继承base.html,也就是说把页面公共的部分提取出来了,生下来的主内容区域即是变动的内容。
{% load static %}
个人博客
{# 有的页面有自己要加载的静态文件 #}
{% block other_static_file %}
{% endblock %}
{#头部内容#}
{% include 'layout/nav.html' %}
{% block jumbotron %}
{% include 'layout/jumbotron.html' %}
{% endblock %}
{#页面主内容#}
{% block main %}
{% endblock %}
{#底部内容#}
最终效果如下
![]](https://img-blog.csdnimg.cn/ec0319a7dd7e457bba75950a391ff82d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rWq6YeM5YiS6Ii5,size_20,color_FFFFFF,t_70,g_se,x_16)
异常配置 404.html新建myblogtemplates404.html
{% extends 'base.html' %}
{% load static %}
{% block jumbotron %}
{% endblock %}
{% block main %}
{% endblock %}
效果图如下:
新建myblogtemplates403.html
{% extends 'base.html' %}
{% load static %}
{% block jumbotron %}
{% endblock %}
{% block main %}
{% endblock %}
效果图如下:
新建myblogtemplates500.html
{% extends 'base.html' %}
{% load static %}
{% block jumbotron %}
{% endblock %}
{% block main %}
{% endblock %}
效果图如下:
自定义异常处理视图新增myblogsystemexception.py
from django.shortcuts import render
def page_not_found(request, exception):
response = render(request=request,template_name="404.html")
response.status_code = 404
return response
def page_error(request):
response = render(request=request,template_name="500.html")
response.status_code = 500
return response
def forbidden_request(request, exception):
response = render(request=request,template_name="403.html")
response.status_code = 403
return response
配置异常处理视图
编辑myblogurls.py
追加以下内容
# 全局页面错误提示配置(DEBUG=False下使用)
if not settings.DEBUG:
handler404 = "system.exception.page_not_found"
handler403 = "system.exception.forbidden_request"
handler500 = "system.exception.page_error"






