从零开始搭建Python web框架——Django(二)
程序员文章站
2022-03-24 23:11:22
...
Django模板↓
- 在上一篇建立的项目下的templates目录下新建模板文件hello.html,目录结构如下:
HelloWorld/ |-- HelloWorld |-- manage.py `-- templates `-- hello.html
- hello.html代码如下:
{{hello}}
-
修改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', ], }, }, ]
-
修改 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)
- 浏览器访问http://127.0.0.1:8000/hello,页面打印出了Hello World!
下面介绍Django模板的标签:
- if标签:
{% if ... %} ... {% elif ... %} ... {% else %} ... {% endif %}
if的条件接受 and , or 或者 not 关键字。 - for标签:
<ul> {% for v in list %} <li>{{ v }}</li> {% endfor %} </ul> <ul> {% for v in list reversed %}{# 反向迭代 #} <li>{{ v }}</li> {% endfor %} </ul>
- ifequal/ifnotequal标签:
{% ifequal value 'aaa' %} 如果value等于aaa,显示该部分 {% else %} 不等于aaa {% endifequal %}
- 注释标签:
{# 注释 #}
- include标签:
{% include "nav.html" %}
- 过滤器:
{# 转小写 #} {{ name|lower }} {# 输出第一个元素,并转大写 #} {{ my_list|first|upper }} {# 过滤器可以带参数,显示变量的前30个单词 #} {{ bio|truncatewords:"30" }} {# 格式化date对象 #} {{ pub_date|date:"F j, Y" }} {# 添加反斜杠到任何反斜杠、单引号或者双引号前面 #} {{ value|addslashes }} {# 返回变量的长度 #} {{ value|length }}
- 模板继承:
<p>第一行,固定部分。</p> {% block main %} block 为被继承者替换的部分 {% endblock %}
{% extends "base.html" %} {% block main %}已替换 {% endblock %}
最终结果为:第一行,固定部分。 已替换
本章先写到这!
推荐阅读
-
给Python的Django框架下搭建的BLOG添加RSS功能的教程
-
Python实现手写一个类似django的web框架示例
-
Python及Django框架生成二维码的方法分析
-
python的web框架---Django项目
-
python自己动手从零开始搭建FTP服务器2 FTP初步框架
-
Python django框架笔记(二):创建应用和django 管理
-
Linux系统上Nginx+Python的web.py与Django框架环境
-
用Python手把手教你搭建一个web框架-flask微框架!
-
python Django web框架搭建一个简单博客
-
【从零开始搭建自己的.NET Core Api框架】(二)搭建项目的整体架构