论坛首页 编程语言技术论坛

django模板标签alias

浏览 3266 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-08-10  
用法
{% alias my_url %}{% url music "rock","112" %}{% endalias %}
{{ my_url }} {{ my_url }} {{ my_url }}

python 代码
 
  1. from django import template  
  2.   
  3. register = template.Library()  
  4.       
  5. @register.tag    
  6. def alias(parsertoken):  
  7.     nodelist = parser.parse(('endalias',))    
  8.     parser.delete_first_token()    
  9.     return Alias(nodelist,token.contents.split()[1])    
  10.   
  11. class Alias(template.Node):    
  12.     def __init__(self,nodelist,alias):    
  13.         self.nodelist = nodelist  
  14.         self.alias = alias  
  15.           
  16.     def render(self, context):  
  17.         output=self.nodelist.render(context)  
  18.         context[self.alias]=output  
  19.         return output  


配合上次我写的统计访问的东西,和以下这段代码可以这样使用
            {% alias now_url %}{% url mytube %}{% endalias %}
            {% page_analytic_visit now_url %}
python 代码
  1. from django import template  
  2. from django.core.exceptions import ObjectDoesNotExist  
  3.   
  4. from utils.url_decorate.models import PageAnalytic  
  5.   
  6. register = template.Library()  
  7.   
  8. @register.simple_tag  
  9. def page_analytic_visit(url):  
  10.     try:  
  11.         return PageAnalytic.objects.get(url=url).visit  
  12.     except ObjectDoesNotExist:  
  13.         return 0  





论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics