Django视图层、模板层

过滤器方法

  • upper 大写方式输出
  • add 给value加上一个数值
  • capfirst 第一个字母大写
  • center 输出指定长度的字符串,把变量居中
  • cut 删除指定字符串
  • date 格式化日期
  • default 如果值不存在,则使用默认值代替
  • length 返回列表中元素的个数或字符串长度
  • length_is 检查列表,字符串长度是否符合指定值

标签的方法

for标签

{% for 临时遍历 in 序列%}....{%endfor%}

  • forloop.counter 当前循环的索引值(从1开始)
  • forloop.counter0 当前循环的索引值(从0开始)
  • forloop.revcounter 当前循环的倒序索引(从1开始)
  • forloop.revcounter0 当前循环的倒序索引(从0开始)
  • forloop.first 当前循环是不是第一次循环(布尔值)
  • forloop.last 当前循环是不是最后一次循环(布尔值)

for...empty标签

如果变量名不存在或者内容为空的时候显示{%empty%}中的内容,否则不执行

{% for game in games%}
...{%empty%}...{%endfor%}

...if标签

(1)if 标签
格式:
{% if 判断条件 %}
… {% endif %} 注: if 语句支持 and、or、==、<、>、!=、<=,>=,in、not in、is、is not判断
(2)if … else 标签
格式:
{% if name_length|length > 6 %}
…
{% else %}
…
{% endif %}
(3).if…elif…else 标签
格式:
{% if name_length|length > 6 %}
…
{% elif age == 20 %}
…
{% else %}
…
{% endif %}

CBV流程

1.首先要编写自定义的视图类,必须继承View类。
2.然后在路由中配置URL调用视图类的as_View方法,也就是view类的as_view方法
3.as_view是一个闭包函数,返回的是view方法。
4.view方法先实例化类视图对象,然后给类视图对象赋值,最后调用dispatch方法
5.dispatch方法先判断该请求方式是否在它所有的方法中,然后通过反射getattr的请求方式获取指定的请求方法(也就是对应的函数),并执行相应的代码块

Django请求生命周期流程图

自定义过滤器,标签的步骤

  • 在settings中的INSTALLED_APPS添加当前app的名字,不然django无法找到自定义的过滤器或标签
  • 在文件夹app01中创建子文件templatetags
  • 在templatetags新建任意py文件,在该文件中自定义过滤器或标签
  • 自定义过滤器或标签必须重新启动django生效

原文地址:https://www.cnblogs.com/lzss/p/11755227.html

时间: 2024-08-04 16:07:28

Django视图层、模板层的相关文章

54.django视图层(views)的视图函数

1.视图层概念 视图函数,其实就是一个简单的函数,它接收web请求并返回web响应(响应的可以是一个html,一个重定向,一个xml文档等等) 每个视图函数都负责返回一个HttpResponse对象. 1.1 HttpRequest对象属性 django将请求报文中的请求行.首部信息.内容主体封装成 HttpRequest 类中的属性 ''' path: 请求页面的全路径,不包括域名 method: 请求中使用的HTTP方法的字符串表示.全大写表示.例如 if req.method=="GET&

Django视图层

1. 视图函数 视图函数,简称视图,是一个简单的Python函数,它接受Web请求并且返回Web响应,本质就是一个函数 视图的参数 一个HTTPResponse实例 通过正则表达式组获取的位置参数 通过正则表达式组获取的关键字参数 在应用目录下默认有views.py文件, 一般视图都定义在此文件中 如果处理功能过多,可将函数定义到不同的py文件中 视图的对象 HTTPResponse对象 HTTPRequest对象 2. HTTPRequest对象 HTTP应用的信息是通过 请求报文 和 响应报

Django 视图层

1.1 request请求对象 属性/方法 django将请求报文中的请求行.首部信息.内容主体封装成 HttpRequest 类中的属性 (1)request.GET 类似于字典对象,包含HTTP GET所有参数 (2)request.POST 类似于字典对象,请求中包含表单数据,将这些数据封装成 QueryDict 对象. (3)request.body 一个字符串,代表请求报文的主体 (4)request.path 一个字符串,请求路径的组件 (5)request.method 一个字符串

Django视图层(views.py)

视图函数 接受Web请求并且返回Web响应.由此,视图函数应该接收请求对象HttpRequest,并返回响应对象HttpResponse. request django将请求报文中的请求行.首部信息.内容主体封装成 HttpRequest 类中的属性. request.scheme # 请求的协议,一般为http或者https,字符串格式(以下属性中若无特殊指明,均为字符串格式)request.body   #http请求的主体,二进制格式.request.path        # 所请求页面

Django基础模板层(75-76)

Django框架之模板层(d75)一 模版语法之变量: ** locals() 会把*该*视图函数内的变量,传到模板    ** return render(request, 'index.html', locals()) 1 {{ 变量 }}:******重要******{#相当于print了该变量#}  只写函数名:相当于函数名(),执行该函数,打印函数返回值 2 深度查询---->统一都用句点符 .  拓展:不能调有参数的方法二 模版之过滤器 1语法:{{第一个参数|过滤器名字:第二个参数

Django框架之模板

Django框架之模板层 什么是模板 需要返回给浏览器的html文件 Django的模板 = HTML代码 + 模板语言 模板语言 有与我们直接返回html页面的话,那他只是一个静态页面无法实现前后端数据交互,那么我们就需要经过页面渲染,让静态文件呈现出动态页面的效果. 模板语言的变量 如果我们需要将后端的数据传递到前端页面渲染,就需要用到模板语言中的变量 用法:通过{{}}来获取后端传递过来的数据 变量支持的数据类型: int float str dict list tuple set boo

Django基础之视图层(views.py)和模板层

目录 Django基础之视图层(views.py)和模板层 视图层 JsonResponse对象 form表单上传文件 FBV与CBV 即CBV源码分析 django settings源码分析及实际应用 模板层 模板传值 过滤器( | ) 常用内置过滤器 其他过滤器(了解) 标签 if判断 for循环 with标签 csrf_token标签 自定义过滤器和标签 自定义过滤器 自定义标签 自定义过滤器和标签的区别 模板的继承 模板的导入 Django基础之视图层(views.py)和模板层 视图层

五十六、Django路由层与视图层

一.路由层 1.路由匹配规律 # 网站首页路由:url(r'^$',views.home) # 网站不存在页面:url(r'',views.error) urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$',views.home), url(r'^test/$',views.test), url(r'^testadd/$',views.testadd), url(r'',views.error) ] # 注意:第一个参数是正则表达

Django之路由层与视图层

Django之路由层与视图层 路由层 urlpatterns = [ url(r'^admin/',admin.site.urls), url(r'^$',views.home), # 网页首页路由 url(r'^test/$',views.test), url(r'^testadd/$',views.testadd), url(r'',views.error) # 网页不存在页面 ] # 注意:第一个参数是正则表达式,匹配规则按照从上往下依次匹配,匹配到一个之后立即停止,直接执行对应的视图函数

Django路由层与视图层、pycharm虚拟环境

一. Django路由层 路由层即对应项目文件下的urls.py文件.实际上每个APP中也可以有自己的urls.py路由层.templates文件夹及static文件夹.Django支持这么做,也为实际工作中一个项目多人协作完成提供了便利:即每个人单独建一个Django项目写一个APP,最后新建一个Django项目将所有APP汇总,然后settings中注册各个APP,再修改一下其他配置即可. 路由层大致内容如下: from django.conf.urls import url from dj