`

从零开始搭建Python web框架——Django(二)

阅读更多

Django模板↓

  1. 在上一篇建立的项目下的templates目录下新建模板文件hello.html,目录结构如下:
    HelloWorld/
    |-- HelloWorld
    |-- manage.py
    `-- templates
        `-- hello.html
     
  2. hello.html代码如下:
    {{hello}}
     
  3. 修改HelloWorld/settings.py,修改 TEMPLATES 中的 DIRS :
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            '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. 修改 view.py,新建一个方法,绑定字典到模板中
    # -*- coding: utf-8 -*-
     
    #from django.http import HttpResponse
    from django.shortcuts import render
     
    def hello(request):
        context          = {}
        context['hello'] = 'Hello World!'
        return render(request, 'hello.html', context)
     
  5. 浏览器访问http://127.0.0.1:8000/hello,页面打印出了Hello World!

下面介绍Django模板的标签:

  1. if标签:
    {% if ... %}
       ...
    {% elif ... %}
       ...
    {% else %}
       ...
    {% endif %}
     if的条件接受 and , or 或者 not 关键字。
  2. for标签:
    <ul>
    {% for v in list %}
        <li>{{ v }}</li>
    {% endfor %}
    </ul>
    <ul>
    {% for v in list reversed %}{# 反向迭代 #}
        <li>{{ v }}</li>
    {% endfor %}
    </ul>
     
  3. ifequal/ifnotequal标签:
    {% ifequal value 'aaa' %}
        如果value等于aaa,显示该部分
    {% else %}
        不等于aaa
    {% endifequal %}
     
  4. 注释标签:
    {# 注释 #}
     
  5. include标签:
    {% include "nav.html" %}
     
  6. 过滤器:
    {# 转小写 #}
    {{ name|lower }}
    {# 输出第一个元素,并转大写 #}
    {{ my_list|first|upper }}
    {# 过滤器可以带参数,显示变量的前30个单词 #}
    {{ bio|truncatewords:"30" }}
    {# 格式化date对象 #}
    {{ pub_date|date:"F j, Y" }}
    {# 添加反斜杠到任何反斜杠、单引号或者双引号前面 #}
    {{ value|addslashes }}
    {# 返回变量的长度 #}
    {{ value|length }}
     
  7. 模板继承:
    <p>第一行,固定部分。</p>
        {% block main %}
           block 为被继承者替换的部分
        {% endblock %}
     
    {% extends "base.html" %}
     
    {% block main %}已替换
    {% endblock %}
     最终结果为:
    第一行,固定部分。
    已替换
     

本章先写到这!

 

1
0
分享到:
评论

相关推荐

    Python库 | Django-Pizza-13.11.11.tar.gz

    本资源“Django-Pizza-13.11.11.tar.gz”就是一个针对Python后端开发的特殊库——Django-Pizza的特定版本。Django-Pizza是基于Django框架构建的一个应用,它提供了许多用于构建Web应用的实用功能和组件,旨在简化...

    Django 1.2 E-commerce

    无论是想要从零开始学习Django还是希望深入掌握其在电子商务领域应用的开发者,都能从中获益匪浅。 #### 五、结语 《Django 1.2 电子商务》不仅是一本介绍Django在电子商务领域应用的书籍,更是一部指导开发者如何...

    The_Django_Book_2.0_中文版.pdf

    Django是一个开源的Web框架,由Python编写,采用了MTV(模型 Model、模板 Template、视图 View)的框架模式,让Web开发变得更加快捷高效。Django的官方文档《The Django Book 2.0 中文版》详细地介绍了如何使用...

    django-chinese-docs pdf

    - **从零开始**:适合完全没有经验的新手,详细介绍如何一步步构建一个Django应用。 - **概览**:对Django的整体架构进行概览性描述,帮助用户理解Django的核心设计理念。 #### 二、安装与教程 - **安装**:详细...

    BlogApp-Django:从头开始创建Django BlogApp。覆盖字体端HTML,CSS,Javascript和后端python django的全栈功能。任何人都可以创建帐户并发布

    本文将深入探讨如何使用Python的Django框架从零开始构建一个全栈博客应用——"BlogApp-Django"。该应用涵盖了前端的HTML、CSS和JavaScript技术,以及后端的Django核心功能,使得用户能够注册账户并发布文章。这将是...

    可用来做计算机实训大作业,参加一些比赛等等哦

    - **用户数据集**:系统内含预设的用户数据集,简化了用户信息管理,避免了从零开始构建数据库的复杂性。 2. **图书管理**: - **图书信息管理**:系统维护了一个图书数据集,包含每本书的书名、作者、出版社、...

    django-site

    【django-site】是一个基于Python开发的Web应用框架——Django中的一个项目模板,它为创建一个新的Django站点提供了快速入门的基础。Django是强大的、高级的、可重用的Web框架,它遵循“DRY”(Don't Repeat ...

    mysite:Django的教程学习

    在这个"Mysite"教程中,我们将学习如何从零开始搭建一个完整的Django项目。 首先,让我们了解Django的基本概念。Django遵循MVT(Model-View-Template)架构模式,即模型(Model)负责数据管理,视图(View)处理...

Global site tag (gtag.js) - Google Analytics