DJango学习笔记之使用模板继承实现在页面上显示字符串
目标:使用模板继承实现在页面上显示字符串
步骤:
1.在通过PyCharm创建的DJango项目文件中找到templates文件夹,在该文件夹下创建两个html页面,创建母子模板页面。
分别为:base.html和Son.thml。
base.thml文件内容:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta charset="utf-8"> <title>你好</title> </head> <body> <h1>你好啊!</h1> <p>小破孩的故事</p> {% block mainbody %} <p>original</p> {% endblock %} </body> </html>
Son.html文件内容:
{% extends "base.html" %} {% block mainbody %}<p>继承了 base.html 文件</p> {% endblock %}
2.项目文件夹根目录中的模板继承视图文件ExtendTempViews.py文件,内容如下:
from django.shortcuts import render def extendtest(request): return render(request, 'Son.html')
3.打开项目根目录文件夹中的settings.py文件,修改模板路径。如下所示:
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', #'DIRS': [os.path.join(BASE_DIR, 'templates')] 'DIRS': [BASE_DIR+'/templates']#使用自定义模板是需要重新设置该目录。 , 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
4.设置urls.py文件。
from django.contrib import admin from django.urls import path from django.conf.urls import url from MySecondProject import ExtendTempViews # 模板继承 urlpatterns = [ #模板继承 url(r'^$', ExtendTempViews.extendtest), path('admin/', admin.site.urls), ]
5.运行效果如下图所示: