Как показать число только с усечением или css

Я хочу отображать только S1 вместо season 1. Таким образом, мне нужно обрезать season и поставить только 1 и добавить "S" впереди.

<a href = "{% url 'season_detail' slug=all_episode.season.slug %}">
    {{ all_episode.season}}
</a>

Как сократить слово "season"?

Редактировать: Вот что я сделал снова

Я создал папку templatetag внутри своего приложения затем добавил в этом.py и Seasonify.py и внутри Seasonify.py я добавил

from django import template

register = template.Library()


@register.filter
def seasonify(value):
    return value.replace('season', 'S')

затем внутри моего шаблона я добавил

{% load seasonify %}
and {% episode.season|seasonify %}

Является ли значение all_episode.season «сезоном 1»?

Sean 29.05.2019 01:54

@Шон да. Я использую для цикла all_episode. Итак, сезон 1, 2, 3 и т. д.

rosababy 29.05.2019 02:09
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
0
2
37
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Лучше всего написать настраиваемый фильтр шаблонов. Логика проста:

@register.filter
def seasonify(value):
    return value.replace('season', 'S')

затем просто используйте его в своих шаблонах:

{{ all_episode.season | seasonify }}

См. Документы Джанго для получения подробной информации о том, куда поместить этот код.

привет спасибо за ответ. Я никогда раньше не использовал шаблонный фильтр. мне просто добавить это в мой views.py?

rosababy 29.05.2019 02:29

Нет, вы должны создать отдельный файл в каталоге templatetags. Подробности смотрите по ссылке в конце моего ответа. Это несложно.

Selcuk 29.05.2019 02:31

Я сделал это, как сказано в документе, но я получаю TemplateSyntaxError в / 'seasonify' не является зарегистрированной библиотекой тегов. Должен быть одним из:

rosababy 29.05.2019 03:37

@rosababy Имя каталога должно быть templatetags, а не templatetag. Это опечатка?

Selcuk 29.05.2019 04:11

к сожалению, я поставил теги шаблонов на свою сторону

rosababy 29.05.2019 04:22

Вы перезапустили сервер разработки?

Selcuk 29.05.2019 05:22
code.djangoproject.com/ticket/9157 это то, чего я пытаюсь добиться, но так сложно
rosababy 30.05.2019 22:37

Сейчас мы прыгаем с темы на тему. Вы решили свою первоначальную проблему? Пользовательский фильтр теперь работает?

Selcuk 31.05.2019 01:08

все в порядке, я решил это, используя cut несколько раз. не лучший способ, но работает

rosababy 31.05.2019 06:54

Другие вопросы по теме