阅读目录 变量 标签 自定义过滤器和标签 模板层(template) 你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. 1 2 3 4 def current_datetime(request):     now = datetime.datetime.now()     html = "<html><body>It is now %s.</body></html>" % …
Django视图层中views的内容 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容(render),也可以是一个重定向(redirect).一个404错误.一个XML文档,或者一张图片等等.无论视图本身包含什么逻辑,都要返回响应值,即视图函数必须要有返回值return. 视图函数有CBV和FBV两种类型,我们平常在编写时选一种即可,平常我选用这里选用FBV的形式. CBV的形式: url(r'^login.html$…
前言:当我们想在页面上给客户端返回一个当前时间,一些初学者可能会很自然的想到用占位符,字符串拼接来达到我们想要的效果,但是这样做会有一个问题,HTML被直接硬编码在 Python代码之中. 1 2 3 4 def current_datetime(request):     now = datetime.datetime.now()     html = "<html><body>It is now %s.</body></html>"…
继续之前的views,你可 能已经注意到我们例子中视图中返回的的方式有点特别.也就是说.HTML被直接硬编码在Python代码之中 def current_datetime(request): now = datetime.datetime.now() html = "<html><body>it is now %s</body></html>" %now return HttpResponse(html) 尽管这种技术便于解释视图是如何…
1 模板语法之变量 在 Django 模板中遍历复杂数据结构的关键是句点字符, 语法: {{var_name}} def index(request): import datetime s="hello" l=[111,222,333] # 列表 dic={"name":"yuan","age":18} # 字典 date = datetime.date(1993, 5, 2) # 日期对象 class Person(obje…
每一个 Web 框架都需要一种很便利的方法用于动态生成 HTML 页面. 最常见的做法是使用模板. 模板包含所需 HTML 页面的静态部分,以及一些特殊的模版语法,用于将动态内容插入静态部分. 说白了,模板层就是如何往 HTML 文件中填入动态内容的系统. Django 可以配置一个或多个模板引擎(语言),也可以不用引擎. Django 自带一个称为 DTL(Django Template Language )的模板语言,以及另外一种流行的 Jinja2 语言(需要提前安装,pip instal…
自定义标签与过滤器 在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag. 在app中创建templatetags模块(模块名只能是templatetags) 创建任意 .py 文件,如:my_tags.py from django import template # 该对象名必须是register register = template.Library() #自定义过滤器装饰器 @register.filter def mult…
视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以.无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你的Python目录下面:为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为views.py的文件中. 视图请求对象 request对象:包含所有的请求信息(浏览器给服务器发过来的是一堆字符串)…
Django之模板层 一 模板简介 在刚刚介绍完的视图层中我们提到,浏览器发送的请求信息会转发给视图函数进行处理,而视图函数在经过一系列处理后必须要有返回信息给浏览器.如果我们要返回html标签.css等数据给浏览器进行渲染,我们可以在视图函数中这么做 def current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body><…
一. 前言 Django模板层的知识包括标签.过滤器.自定义标签.自定义过滤器以及inclusion_tag,最重要的是模板的继承和导入. 首先模板层最重要的是模板语法,之前我们提过涉及到变量用模板语法{{ }},涉及到逻辑用模板语法{% %},这里再追加几点.过滤器在模板语法{{  }}中写,而且只能传两个参数:标签在模板语法{%%}中写,而且能传多个参数(参数间用空格隔开).模板的继承与导入也是在模板语法{%%}中写. 接下来再回顾一下后端朝前端页面传递数据的两种方式: # 第一种 retu…