2015-07-17 1 views
1

Можно ли включить следующее в файл django html?Как использовать Hogan в шаблоне django

<!-- Hit template --> 
<script type="text/template" id="hit-template"> 
    <div class="hit media"> 
    <a class="pull-left" href="{{ url }}"> 
     <img class="media-object" src="{{ image }}" alt="{{ name }}"> 
    </a> 
    <div class="media-body"> 
     <h3 class="hit_price pull-right text-right text-danger"> 
     ${{ salePrice }} 
     </h3> 
     <h4 class="hit_name">{{{ _highlightResult.name.value }}}</h4> 
     <p> 
     {{{ _highlightResult.shortDescription.value }}} 
     </p> 
     <ul class="hit_tags list-inline"> 
     {{#_highlightResult.manufacturer}}<li>{{{ _highlightResult.manufacturer.value }}}</li>{{/_highlightResult.manufacturer}} 
     {{#_highlightResult.category}}<li>{{{ _highlightResult.category.value }}}</li>{{/_highlightResult.category}} 
     {{#type}}<li>{{{ type }}}</li>{{/type}} 
     </ul> 
    </div> 
    </div> 
</script> 

Когда я в настоящее время включают в себя, что я получаю ошибку Джанго, как Джанго шаблонный движок, похоже, пытается разобрать его первым.

ответ

1

Если вы используете django> = 1.5, попробуйте использовать тег шаблона verbatim.

[править]

на более ранних версиях Джанго, вы должны быть в состоянии воспроизвести функциональность шаблона тегов себя следующее:

""" 
From https://gist.github.com/1313862 
""" 

from django import template 

register = template.Library() 


class VerbatimNode(template.Node): 

    def __init__(self, text): 
     self.text = text 

    def render(self, context): 
     return self.text 


@register.tag 
def verbatim(parser, token): 
    text = [] 
    while 1: 
     token = parser.tokens.pop(0) 
     if token.contents == 'endverbatim': 
      break 
     if token.token_type == template.TOKEN_VAR: 
      text.append('{{') 
     elif token.token_type == template.TOKEN_BLOCK: 
      text.append('{%') 
     text.append(token.contents) 
     if token.token_type == template.TOKEN_VAR: 
      text.append('}}') 
     elif token.token_type == template.TOKEN_BLOCK: 
      text.append('%}') 
    return VerbatimNode(''.join(text)) 
+0

Это выглядит здорово, но не мы используем '1,4 '. – David542

+0

А, ок. Я обновил альтернативу. Если вы включите его, вы сможете использовать тег {% verbatim%} так же, как и любой другой тег шаблона. – Walker

+0

Блестящий. Спасибо. – David542

 Смежные вопросы

  • Нет связанных вопросов^_^