• 如何在Django中使用模板


    在Django中,模板是一种用于生成HTML内容的动态网页的简单方法。Django的模板语言允许你在HTML文件中插入变量和标签,这些变量和标签可以由Django的视图动态填充。

    以下是如何在Django中使用模板的步骤,以及一些示例代码块:

    1. 创建模板文件

    首先,你需要创建一个HTML模板文件。通常,模板文件放在Django应用的templates目录下。例如,如果你的应用名为myapp,你可以创建一个名为index.html的模板文件:

    1. myproject/
    2. ├── myapp/
    3. │ ├── templates/
    4. │ │ └── myapp/
    5. │ │ └── index.html

    在这个例子中,index.html文件将位于myapp/templates/myapp目录下。

    2. 编写模板语法

    在模板文件中,你可以使用Django的模板语言来插入动态内容。以下是一些基本的模板标签和过滤器:

    • 变量:使用双大括号{{ variable }}来输出变量。
    • 标签:使用{% tag %}来执行特定的操作,如循环或条件判断。
    • 注释:使用{# comment #}来添加注释,这些注释不会出现在最终的HTML中。

    例如,index.html模板文件可能如下所示:

    1. html>
    2. <html>
    3. <head>
    4. <title>MyApp Indextitle>
    5. head>
    6. <body>
    7. <h1>Welcome to MyApph1>
    8. <p>{{ welcome_message }}p>
    9. <ul>
    10. {% for item in items_list %}
    11. <li>{{ item.name }}li>
    12. {% endfor %}
    13. ul>
    14. {% if user.is_authenticated %}
    15. <p>Hello, {{ user.username }}!p>
    16. {% else %}
    17. <p>You are not logged in.p>
    18. {% endif %}
    19. {# 模板注释 #}
    20. body>
    21. html>

    3. 在视图中渲染模板

    在你的Django视图中,你可以使用render()函数来渲染模板,并传递上下文数据给模板。

    1. # myapp/views.py
    2. from django.shortcuts import render
    3. def index(request):
    4. context = {
    5. 'welcome_message': 'Hello, welcome to our site!',
    6. 'items_list': ['Item 1', 'Item 2', 'Item 3'],
    7. 'user': request.user,
    8. }
    9. return render(request, 'myapp/index.html', context)

    在这个例子中,render()函数接收三个参数:请求对象、模板文件的名称和上下文字典。

    4. 配置URLconf

    最后,确保你的URL配置(urls.py)指向你的视图,以便用户可以访问这个模板。

    1. # myapp/urls.py
    2. from django.urls import path
    3. from .views import index
    4. urlpatterns = [
    5. path('', index, name='index'),
    6. ]

    5. 静态文件

    如果你的模板中包含了静态文件(如CSS、JavaScript或图片),你需要使用{% static %}标签来正确引用它们。

    1. <link rel="stylesheet" href="{% static 'css/style.css' %}">
    2. <script src="{% static 'js/script.js' %}"></script>

    确保在settings.py中设置了STATIC_URL,并且在模板顶部加载了static标签库:

    {% load static %}

    通过这些步骤,你可以在Django中创建和使用模板来动态生成网页内容。模板系统非常强大,支持继承、包含、过滤器等多种功能,可以帮助你构建复杂的网页布局。

  • 相关阅读:
    第四节唯物辩证法(两大总特征)
    深度学习入门---《白话机器学习的数学》笔记
    MySQL - 多表查询与案例详解
    时间序列与 statsmodels:预测所需的基本概念(2)
    软件设计模式(四):观察者、组合、享元模式
    中科大计网学习记录笔记(十六):面向连接的传输:TCP
    IPv4数据报格式
    pandas使用groupby函数基于指定分组变量对dataframe数据进行分组、使用last函数获取每个分组数据中每个分组的最后一个样本数据
    Linux执行jps命令的时候报错:-bash: jps: command not found
    java扶贫平台计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  • 原文地址:https://blog.csdn.net/johnny_hhh/article/details/143230947