python Django模板的使用方法(图文)

下面是“Python Django模板的使用方法(图文)”的完整攻略,包含两个示例说明:

1. 简介

Django模板是一种文本文件,它用于生成HTML和其他格式的文档。Django模板语言(DTL)是由Django框架提供的一种HTML syntax,它使我们可以根据需要构造HTML页面。

在Django中,我们可以使用Django模板系统来渲染HTML页面,使我们能够很方便地生成动态网页。

2. Django模板的使用

创建一个Django模板非常简单。Django要求我们把模板放置在一个templates文件夹中。下面是一个基本的Django模板示例,让我们来创建一个名为“index.html”的文件:

<!DOCTYPE html>
<html>
<head>
    <title>我的首页</title>
</head>
<body>
    <h1>欢迎来到我的网站</h1>
    <p>这是一个用Django框架和模板语言创建的网站</p>
</body>
</html>

接下来,让我们在Django中使用这个模板。首先,我们需要在视图函数中实例化模板,并将数据传递给模板。例如,下面的视图函数将数据传递给模板,并将模板渲染为HTML页面:

from django.shortcuts import render

def index(request):
    data = {'name': '小明', 'age': 20}
    return render(request, 'index.html', data)

在这个例子中,我们使用了render函数, 它的第一个参数是请求(request)对象,第二个参数是模板的名称以及路径,第三个参数是我们要向模板传递的数据字典。接下来,Django将自动查找模板,并使用传入的数据来渲染模板。

在模板中,我们可以用{{ }}来包含Python表达式(变量)。例如,我们可以通过下面的代码来输出我们在模板中传递的数据:

<!DOCTYPE html>
<html>
<head>
    <title>我的首页</title>
</head>
<body>
    <h1>欢迎来到{{name}}的网站</h1>
    <p>他今年{{age}}岁了</p>
</body>
</html>

在模板中我们也可以使用if和for这样的控制结构。下面是一个模板示例,它实现了循环和条件判断:

<!DOCTYPE html>
<html>
<head>
    <title>我的文章</title>
</head>
<body>
    <h1>我的文章列表</h1>
    <ul>
        {% for article in articles %}
            {% if article.published %}
                <li><a href="{{ article.url }}">{{ article.title }}</a></li>
            {% endif %}
        {% endfor %}
    </ul>
</body>
</html>

在这个模板中,我们使用了for循环和if语句来循环遍历文章列表,并判断文章是否已经发布。这里的“articles”是在视图函数中通过数据字典传递给模板的。

3. 示例

下面是两个使用Django模板的示例:

示例1: 显示商品列表

下面是一个视图函数,它读取商品列表,并将它们传递给模板。模板中使用了for循环来遍历商品列表,并使用if语句判断商品是否有折扣。

from django.shortcuts import render

def products(request):
    products = [
        {'name': '手机', 'price': 1800, 'discount': 10},
        {'name': '电视', 'price': 3000, 'discount': 20},
        {'name': '电脑', 'price': 5000}
    ]
    return render(request, 'products.html', {'products': products})

下面是一个使用Django模板的示例(products.html):

<!DOCTYPE html>
<html>
<head>
    <title>商品列表</title>
</head>
<body>
    <h1>商品列表</h1>
    <ul>
        {% for product in products %}
            <li>{{ product.name }} - {% if product.discount %}{{ product.price*(100-product.discount)/100 }}{% else %}{{ product.price }}{% endif %}</li>
        {% endfor %}
    </ul>
</body>
</html>

在这个模板中,我们使用了for循环遍历商品列表,并使用if语句判断商品是否有折扣。如果有,则计算出折扣后的价格,否则输出原价。

示例2:显示博客文章

下面是一个视图函数,它读取博客文章列表,并将它们传递给模板。模板使用了for循环来遍历博客文章,并使用if语句判断文章是否已发布。

from django.shortcuts import render
from .models import Article

def blog(request):
    articles = Article.objects.all()
    return render(request, 'blog.html', {'articles': articles})

下面是一个使用Django模板的示例(blog.html):

<!DOCTYPE html>
<html>
<head>
    <title>我的博客</title>
</head>
<body>
    <h1>我的博客</h1>
    <ul>
        {% for article in articles %}
            {% if article.published %}
                <li><a href="{{ article.url }}">{{ article.title }}</a></li>
            {% endif %}
        {% endfor %}
    </ul>
</body>
</html>

在这个模板中,我们使用了for循环来遍历文章列表,并使用if语句来判断文章是否已发布。只有已发布的文章才会被列出来,并且可以点击链接查看文章内容。

4. 总结

Django模板是一种强大的工具,它使得我们可以轻松地生成动态的HTML页面。无论是生成商城商品列表,还是生成博客文章,Django模板都可以轻松胜任。在实际开发中,我们可以使用Django模板来构建Web应用程序,为用户提供完美的视觉体验。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python Django模板的使用方法(图文) - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • django中models联合唯一unique_together

    例: 文章点赞 class ArticleUpDown(models.Model): “”” 点赞表 “”” nid = models.AutoField(primary_key=True) user = models.ForeignKey(to=”UserInfo”, null=True, on_delete=models.CASCADE) article…

    Django 2023年4月11日
    00
  • Django 中使用日志的方法

    在Django中使用日志非常重要,可以帮助我们更好的跟踪和排除错误,下面是使用日志的方法。 1. 安装日志模块 如果你安装Django的时候没有安装日志模块,那么可以使用以下命令安装日志模块: pip install django-logging 2. 配置日志 配置日志需要在settings.py中配置LOGGING。下面是一个简单的配置示例: impor…

    Django 2023年5月16日
    00
  • Python的Django框架中的数据库配置指南

    下面是针对“Python的Django框架中的数据库配置指南”的完整攻略。 确定数据库类型 在Django中,内置支持多种数据库,包括MySQL、PostgreSQL、SQLite等。在开始配置数据库之前,我们需要先确认使用哪一种数据库。 例如,我们这里假设要使用MySQL作为数据库类型。 安装数据库驱动 需要通过pip安装MySQL驱动,命令如下: pip…

    Django 2023年5月16日
    00
  • celery在Django中的使用

      前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务。在同事的指引下接触了Celery这个异步任务队列框架,鉴于网上关于Celery和Django结合的文档较少,大部分也只是粗粗介绍了大概的流程,在实践过程中还是遇到了不少坑,希望记录下来帮助有需要的朋友。…

    Django 2023年4月13日
    00
  • 对Python的Django框架中的项目进行单元测试的方法

    题目:对Python的Django框架中的项目进行单元测试的方法 1. 概述 单元测试是指对程序的每个最小单位进行测试,而在Django框架中,最小的单位是一个函数或者方法。单元测试的好处是可以确保我们写的代码是正确和可靠的。在Django中,我们可以用unittest或Jest等测试框架来进行单元测试。 2. 安装Django 首先我们需要确保已经在我们的…

    Django 2023年5月16日
    00
  • Django多数据库配置及逆向生成model教程

    Django是流行的Web框架之一,它可以简化开发Web应用的过程。在实际项目中,我们可能需要使用多个数据库或者使用反向工程来自动生成模型代码。下面是Django多数据库配置及逆向生成model的完整攻略,包含两条示例说明。 配置多个数据库 Django默认只配置一个数据库,但是我们可以通过在settings.py中添加多个数据库配置来实现多个数据库的支持。…

    Django 2023年5月15日
    00
  • celery在Django项目中的使用案例

    一、逻辑分析 第一步:在项目根目录新建包 第二步:在使用提交异步任务的位置,导入使用即可 视图函数中使用,导入任务任务.delay() # 提交任务 第三步:启动worker,如果有定时任务,启动beat # 启动worker celery -A celery_task worker -l info -P eventlet # 启动beat celery -…

    2023年4月10日
    00
  • Python+Django在windows下的开发环境配置图解

    下面是详细讲解“Python+Django在windows下的开发环境配置图解”的完整攻略。本攻略涵盖了两个示例,分别是使用Python虚拟环境和pipenv来配置Django开发环境。 环境准备 在开始配置Django开发环境之前,需要先安装以下软件: Python3 pip 使用Python虚拟环境配置Django开发环境 安装Python虚拟环境 在命…

    Django 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部