Django如何自定义标签

  介绍

这篇文章主要介绍了Django如何自定义标签,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

自定义标签:

源码学习:
template.Library () .simple_tags ():

def  simple_tag(自我,,func=没有,takes_context=没有,name=None):   ,,,,,,   ,,,Register  a  callable  as  a  compiled  template 标签只的例子:      ,,,@register.simple_tag   ,,,def 你好(* args,, * * kwargs):   ,,,,,,,return  & # 39; & # 39;   ,,,“““

共有三个参数:

<李>

func编译的函数(一个Python函数),

<李>

takes_context在第二部分会讲解;

<李>

名称同自定义过滤器中过滤()函数中的名字的作用一致。

第一部分

自定义标签入门操作!

在模板中使用自定义标签时传递参数!

通过自定义标签实现,按指定格式(datetime模块的格式)展示当前时间!

(1)视图函数编写:

(前/观点。py文件)

 Django如何自定义标签

(2)编写模板文件:

/前/test1(模板。html文件)

 Django如何自定义标签

(3)自定义标签实现:

(前/templatetags/common_extras。py文件)
format_string接收前端模板使用标签传递的参数。

 Django如何自定义标签

(4)效果展示:

 Django如何自定义标签

第二部分

自定义标签中级操作!

关于源码中参数takes_context的讲解及使用(也实现第一部分所实现的功能)。
takes_context的值是一个布尔值,默认是虚假的;
如果将其设置为真,则可以使用从上下文中传入的参数(即视图函数中传递给模板的上下文中参数)!

(1)视图函数编写:

(前/观点。py文件)

 Django如何自定义标签

(2)编写模板文件:

此时在模板中使用自定义标签时不携带参数,因为参数已经在上下文中获取!
/前/test1(模板。html文件)

 Django如何自定义标签

(3)自定义标签实现:

(前/templatetags/common_extras。py文件)

 Django如何自定义标签

第三部分

自定义标签高级操作!

自定义包含标签!
包含标签的功能,是可以通过渲染另外一个模板来显示一些数据!

例如很多地方都可能会用到下面这几行代码(可能在这个为循环中包括了好几十行代码),除选择了这个变量不一样之外,其他的都是格式都一样时,那么我们就可以把这部分代码封装在一个包含标签中!

& lt; ul>   ,,,{%,for 小姐:拷贝choices  %}   ,,,,,,,& lt; li>{{,小姐:}}& lt;/li>   ,,,{%,endfor  %}   & lt;/ul>

(其实就类似封装函数,将一个大量的重复性的工作进行封装,使用的时候直接调用即可。)

(1)定义一个test01.html文件来存放功能代码:

/前/test01(模板。html文件)

& lt; ul>   ,,,{%,for 小姐:拷贝choices  %}   ,,,,,,,& lt; li>{{,小姐:}}& lt;/li>   ,,,{%,endfor  %}   & lt;/ul>

(2)定义包含标签:

<李>

装饰器传递的参数是显示数据的模板文件路径!

<李>

最后返回返回的是个字典对象。

 Django如何自定义标签

(3)使用:

 Django如何自定义标签

(4)效果展示:

 Django如何自定义标签

感谢你能够认真阅读完这篇文章,希望小编分享的“Django如何自定义标签”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

Django如何自定义标签