Django 常用过滤器

过滤器

函数虽然能够在模板中执行,但是不能够传递参数,即不能使用圆括号的形式来传递参数。所以便有了过滤器。其实,这些过滤器就是函数。

滤器使用的是|来使用。比如使用add过滤器,那么示例代码如下:

{{ value|add:"2" }}

常用过滤器

add过滤器

  • templates模板下创建add.html文件

      <title>add过滤器</title>
      </head>
      <body>
      	{{ '1'|add:'3' }}
      </body>
      </html>
    
  • views.py文件定义函数

      def add_view(request):
      	return render(request, 'add.html')
    
  • urls.py文件做映射

      urlpatterns = [
      	path('add/',views.add_view),
      ]
    

打开网页访问http://127.0.0.1:8000/add/即可

如果add.html文件是这样的呢?我们再来看看效果

  • add.html

    {{ value1|add:value2 }}

  • views.html

      def add_view(request):
      	context = [
      		'value':['1','2','3']
      		'value':['4','5','6']
      	]
      return render(request, 'add.html')
    

结果将是将两个列表拼接起来

总结:这个过滤器会尝试将 值 和 参数 转换成整形然后进行相加。如果转换成整形过程中失败了,那么会将 值 和 参数 进行拼接。如果是字符串,那么会拼接成字符串,如果是列表,那么会拼接成一个列表。

cut过滤器

移除值中所有指定的字符串。类似于 python 中的 replace(args,"") 。示例代码如下:

{{ value|cut:" " }}

date过滤器

将一个日期按照指定的格式,格式化成字符串。示例代码如下:

  • views示例代码

      context = {
      	"birthday": datetime.now()
      }
    
  • 模板示例代码

      {{ birthday|date:"Y/m/d" }}   #date后面的参数是需要格式化的字符串
    
  • 更多格式化方式

posted @ 2019-03-22 10:59  苏黎世的从前  阅读(704)  评论(0编辑  收藏  举报