получить конкретную дату в шаблоне django Django

Привет, мне нужно проверить 10-е число каждого месяца в файле шаблона django, может кто-нибудь сказать мне, как я могу проверить это на самом деле, мне нужно показать некоторые данные до 10 числа каждого месяца и скрыть это после 10-го

One Solution collect form web for “получить конкретную дату в шаблоне django Django”

Несколько вещей, чтобы понять:

  1. Язык шаблонов Django на самом деле не разработан вокруг «реального» программирования. По сути, это просто строение строк.
  2. Он не поддерживает реальные «выражения».
  3. … но он поддерживает базовые условные обозначения и циклы.
  4. Поэтому, пока вы можете проверить, равно ли значение или больше или меньше другого значения, вы не можете сделать гораздо больше.
  5. Если вы не используете фильтр или собственный тег шаблона.
  6. Фильтры могут преобразовывать значения из одной вещи в другую.
  7. Теги шаблонов могут делать более сложные вещи, которые выходят за рамки этого вопроса.
  8. Хотя либо фильтр, либо собственный тег шаблона могут попасть туда, куда вы хотите пойти, они будут излишними.

Поэтому, на мой взгляд, самый простой способ сделать это:

  1. Вычислите день текущей даты в вашем представлении.
  2. Передайте это значение вашему шаблону.
  3. Проделайте простую проверку «если больше, чем» на переданное значение по отношению к числу 10.

Итак, наш взгляд будет выглядеть примерно так:

def sample_view(request, *args, **kwargs): from datetime import date current_date = date.today() current_day = int(current_date.day) # force a cast to an int, just to be explicit return render_to_response("template", {'day_of_the_month': current_day }) 

И в нашем шаблоне мы бы сделали:

 {% if day_of_the_month > 10 %} <!-- Stuff to show after the 10th --> {% else %} <!-- Stuff to show before the 10th --> {% endif %} 

Это действительно подвергает материал шаблону, который вы можете скрывать, исходя из даты из соображений безопасности. Вы никогда не должны скрывать защищенные вещи в шаблоне на основе проверки if / then.

Если вам нужно выполнить дополнительные проверки, вы можете просто пройти в current_date и проверить current_date.day на число 10, а не на определенную передачу в этот день. Он был бы менее явным, но более общим и гибким.

  • Вложенной сериализатор полей - данные отсутствуют
  • Пип с Python 2.7 и 3.4 на Windows-машине
  • Django SessionWizardView не выполняет выполненный метод
  • Как вычесть две даты в Django / Python?
  • Лучший способ денормализации данных в Django?
  • Как разрешить пробелы в регулярном выражении имени пользователя Django?
  • Отключить кэширование статических файлов на сервере разработки Django
  • django.core.exceptions.AppRegistryNotReady: модели еще не загружены
  • Python - лучший язык программирования в мире.