Django模板的继承与使用

1. 创建 Django 项目和应用

首先,在命令行中执行以下命令创建 Django 项目和应用:

django-admin startproject my_project
cd my_project
python manage.py startapp my_app

2. 创建模板文件

在 my_app 应用的目录下,创建 templates/my_app 目录,并在该目录下创建以下模板文件。

base.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{% block title %}My Django App{% endblock %}</title>
</head>
<body>
    <header>
        <h1>Welcome to My Django App</h1>
    </header>
    <main>
        {% block content %}
        {% endblock %}
    </main>
    <footer>
        <p>&copy; 2024 My Django App. All rights reserved.</p>
    </footer>
</body>
</html>
home.html
{% extends "my_app/base.html" %}

{% block title %}Home Page - My Django App{% endblock %}

{% block content %}
    <h2>Home Page</h2>
    <p>Welcome to the home page of our Django application.</p>
{% endblock %}

一个是基础页面,一个是主页面。

主页面就是写核心内容(需要变的内容)

基础页面就是不变的内容(可以继承下来的)

所以模板的继承,意思就是将你需要的东西,继承到基础模板里面去,改的只是核心内容。

3. 编写 Django 视图

在 my_app 应用的 views.py 文件中编写视图函数渲染 home.html 模板:

from django.shortcuts import render

def home(request):
    return render(request, 'my_app/home.html')

4. 配置 URL

在 my_app 应用的 urls.py 文件中配置 URL 映射:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
]

替换后的直观效果如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Home Page - My Django App</title>
</head>
<body>
    <header>
        <h1>Welcome to My Django App</h1>
    </header>
    <main>
        <h2>Home Page</h2>
        <p>Welcome to the home page of our Django application.</p>
    </main>
    <footer>
        <p>&copy; 2024 My Django App. All rights reserved.</p>
    </footer>
</body>
</html>

相关推荐

  1. Django模板继承使用

    2024-06-14 23:50:03       41 阅读
  2. Django前端页面-模板继承

    2024-06-14 23:50:03       29 阅读
  3. Django 实现子模版继承模板

    2024-06-14 23:50:03       30 阅读
  4. Django模型使用

    2024-06-14 23:50:03       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-14 23:50:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-14 23:50:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-14 23:50:03       82 阅读
  4. Python语言-面向对象

    2024-06-14 23:50:03       91 阅读

热门阅读

  1. 空白服务器安装系统

    2024-06-14 23:50:03       29 阅读
  2. elementui table超出两行显示...鼠标已入tip显示

    2024-06-14 23:50:03       23 阅读
  3. web基础与http协议

    2024-06-14 23:50:03       27 阅读
  4. 什么是虚拟展厅?有何优势和特点?

    2024-06-14 23:50:03       26 阅读
  5. 【C语言中的科学计数法】

    2024-06-14 23:50:03       28 阅读
  6. 语义分割的数据集各式

    2024-06-14 23:50:03       30 阅读
  7. HBase中的CRUD

    2024-06-14 23:50:03       39 阅读
  8. (5)按钮输入

    2024-06-14 23:50:03       34 阅读
  9. 【Docker】Docker 配置镜像加速

    2024-06-14 23:50:03       30 阅读
  10. Python - 处理电子书的库

    2024-06-14 23:50:03       36 阅读
  11. 英伟达算法岗面试,问的贼专业。。。

    2024-06-14 23:50:03       39 阅读
  12. UE5.3报错

    2024-06-14 23:50:03       36 阅读
  13. 主成分分析学习

    2024-06-14 23:50:03       33 阅读
  14. 建造者模式

    2024-06-14 23:50:03       37 阅读