4

index.htmlДжанго срез строки в шаблоне

<td>{% if place or other_place or place_description%}{{ place}} {{ other_place}} {{place_description}}</td> 

Это отображает все данные в template.I хотите обрезать строку, если она больше длины 80.

условия являются 1 .Если переменная места имеет более 80 символов, она должна обрезать их и не должна показывать две другие переменные, такие как other_place и place_description.

2.If переменная места и переменная other_place, составляющая более 80 символов, в этом случае она должна усекать из place_variable, не нужно показывать переменную place_description.

3.Если все трое являются их и 80-й символ сделан из place_description, необходимо усечь их.

Все поля не являются обязательными, поэтому любое поле появляется для отображения, оно должно содержать только 80 символов.

Нужна помощь для этого.

Благодаря

ответ

9

Вы можете использовать slice для предварительной Джанго 1.4:

{% if place or other_place or place_description%} 
    {% with place|add:other_place|add:place_description as pl %} 
     {% if pl|length > 80 %} 
      {{pl|slice:80}}... 
     {% else %} 
      {{pl }} 
     {% endif %} 
    {% endwith %} 
{% endif %} 

Если вы используете Джанго 1,4 или выше,

Вы можете просто использовать truncatechars

{% if place or other_place or place_description%} 
    {% with place|add:other_place|add:place_description as pl %} 
     {{pl|truncatechars:80}} 
    {% endwith %} 
{% endif %} 
+0

Я бы использовать '{{значение | truncatechars: 80}}' шаблон фильтра вместо среза, как это добавляет elipsis, а обозначающую строку как усеченный –

+0

О .. редактировать был на пути .. Спасибо :) – karthikr

+0

Ах, извините за это! Продолжайте! :) –

3

Возможно, вы можете сделать это с помощью комбинации add/truncat echars, например.

{{ place|add:other_place|add:place_description|truncatechars:80}} 
+0

Я использую django 1.3, это применимо> django 1.4 – user2086641

+0

ah ok, вы можете создать свой собственный фильтр на основе django one, например. https://github.com/django/django/blob/master/django/template/defaultfilters.py#L254 – JamesO

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