Django web框架-----Django templates模板

栏目: Python · 发布时间: 5年前

内容简介:实例一:显示一个基本的字符串到网页上quicktool/view.py文件修改视图函数index(),渲染一个home.html模板,在视图中传递一个字符串名称是 string 到模板 home.htmlquicktool(应用app)下创建一个templates文件夹(模板),在templates下创建一个home.html

说明:mytestsite是django框架下的项目,quicktool是mytestsite项目中的应用

一般的变量之类的用 {{ }}(变量),功能类的比如循环、条件判断是用 {% %}(标签)
复制代码

实例一:显示一个基本的字符串到网页上

quicktool/view.py文件修改视图函数index(),渲染一个home.html模板,在视图中传递一个字符串名称是 string 到模板 home.html

def index(request):
    string = u'这是一个由Django2.1.7版本写出的视图内容!'
    return render(request, 'home.html',{'string':string})
复制代码

quicktool(应用app)下创建一个templates文件夹(模板),在templates下创建一个home.html

<!DOCTYPE html>
<html>
<head>
    <title>学习Django</title>
</head>
<body>

{{ string }}

</body>
</html>
复制代码

实例二:用for循环显示一个基本的List内容

quicktool/view.py文件修改视图函数index(),渲染一个home.html模板,在视图中传递一个List到模板home.html

def index(request):
    TutorialList = ["HTML", "CSS", "jQuery", "Python", "Django"]
    return render(request, 'home.html',{'TutorialList':TutorialList})
复制代码

quicktool(应用app)下创建一个templates文件夹(模板),在templates下创建一个home.html

<!DOCTYPE html>
<html>
<head>
    <title>学习Django</title>
</head>
<body>

语言类型列表:
{%  for i in TutorialList %}
{{ i }}
{% endfor %}
</body>
</html>
复制代码

实例三:显示字典中的内容

quicktool/view.py文件:

def index(request):
   info_dict = {'site': u'本地环境', 'content': u'Django技术'}
   return render(request, 'home.html', {'info_dict': info_dict})
复制代码

quicktool/templates/home.html文件:

开发环境:
{{ info_dict.site }}
学习内容:
{{ info_dict.content }}
复制代码

quicktool/templates/home.html文件(遍历字典):

{% for key, value in info_dict.items %}
    {{ key }}: {{ value }}
{% endfor %}
复制代码

实例四:进行条件判断和for 循环

quicktool/view.py文件:

def home(request):
    List = map(str, range(100))# 一个长度为100的 List
    return render(request, 'home.html', {'List': List})
复制代码

quicktool/templates/home.html文件:

{% for item in List %}
    {{ item }}, 
{% endfor %}
复制代码

打印到页面的最后一个数字有逗号,使用forloop.last判断是否为最后一项,不是最后一项就加逗号,是最后一项就不加

{% for item in List %}
    {{ item }}{% if not forloop.last %},{% endif %} 
{% endfor %}
复制代码

forloop的一些变量

Django web框架-----Django templates模板

当列表中可能为空值时用for...empty...

<ul>
{% for athlete in athlete_list %}
    <li>{{ athlete.name }}</li>
{% empty %}
    <li>抱歉,列表为空</li>
{% endfor %}
</ul>
复制代码

实例五:逻辑操作

① ==, !=, >=, <=, >, < (注意:比较符号前后必须有至少一个空格!)

{% if var >= 90 %}
成绩优秀
{% elif var >= 80 %}
成绩良好
{% elif var >= 70 %}
成绩一般
{% elif var >= 60 %}
需要努力
{% else %}
不及格
{% endif %}
复制代码

②and, or, not, in, not in

# 判断 num 是不是在 0 到 100 之间:
{% if num <= 100 and num >= 0 %}
num在0到100之间
{% else %}
数值不在范围之内!
{% endif %}
复制代码

实例六:获取当前用户、当前网址、当前GET参数

①获取当前用户

{% if request.user.is_authenticated %}
    {{ request.user.username }},您好!
{% else %}
    请登陆,这里放登陆链接
{% endif %}
复制代码

②获取当前网址

{{ request.path }}
复制代码

③获取当前GET参数

{{ request.GET.urlencode }}
复制代码

合并到一起用的例子

<a href="{{ request.path }}?{{ request.GET.urlencode }}&delete=1">当前网址加参数 delete</a>
复制代码

网页上的这个a标签href=“/?&delete=1”,每点击一次标签a网页的地址新增参数?delete=1&delete=1...


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

新机器的灵魂

新机器的灵魂

Tracy Kidder / 龚益、高宏志 / 机械工业出版社华章公司 / 2011-10 / 45.00元

计算机从1981年开始发生巨大的变化。《新机器的灵魂》完整地记录下了当时一家公司齐心协力把一种新的小型计算机推向市场的过程中所发生的一系列戏剧性的、充满戏剧色彩的、激动人心的故事。 本书以美国通用数据公司研制鹰电子计算机的全过程为主线,对美国计算机工业的发展和管理中鲜为人知的侧面,作了条理清晰、颇具诗情画意的描述。 你想知道一代新型计算机怎样诞生,精明干练而又富于幽默感的工程技术人员怎......一起来看看 《新机器的灵魂》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具