Реализация обратного отсчета в django в шаблоне - PullRequest
0 голосов
/ 28 января 2020

У меня есть шаблон bootstrap, где обратный отсчет уже реализован. И время жестко закодировано, как показано ниже.

<div  data-countdown="2020/03/01"></div>

здесь, если я изменяю число, например, 2020, оно показывает рассчитанное время. Но я не хотел это жестко запрограммированное время или число. Я хочу указать свое фактическое время из полей DateTime. Итак, как я могу использовать мою переменную DateTime в качестве переменной шаблона и поместить ее в качестве параметра атрибута обратного отсчета данных выше? Как мы делаем с {{}}.

Ответы [ 3 ]

1 голос
/ 28 января 2020

Вы можете поместить даты из ваших полей даты и времени в контекст представления, отображающего эту страницу, и получить к ним доступ в шаблоне, используя {{}}

def some_view(request):
    # get your dates here, assuming from some model object
    date = "some date you got"
    return render(request, 'app/template_name.html', {'countdown_date': date}

В шаблоне

<div data-countdown="{{countdown_date}}"></div>
0 голосов
/ 28 января 2020

Допустим, что значение вашего DateTimeField равно datetime.datetime(2020, 1, 28, 12, 36, 56, 310538). Таким образом, Вы можете получить дату в своем представлении следующим образом:

def your_view(request):
    some_date_time_obj = datetime.datetime(2020, 1, 28, 12, 36, 56, 310538)
    date_from_date_time = some_date_time_obj.date() # will return datetime.date(2020, 1, 28)
    return render(request, 'your_template.html', {'date': data})

В своем шаблоне вы можете установить это значение следующим образом:

<div  data-countdown="{{ date }}"></div>

Если вам нужна дата в формате YYYY/MM/DD, тогда Вы можете вызвать strftime() метод следующим образом:

date_from_date_time = some_date_time_obj.date().strftime('%Y/%m/%d') # will return '2020/01/28'
0 голосов
/ 28 января 2020

Используйте шаблонный фильтр django, как этот

<div data-countdown="{{ datetime_from_context|date:"Y/m/d" }}"></div>

Используйте это как справочную информацию, если вы хотите изменить формат: https://simpleisbetterthancomplex.com/references/2016/06/21/date-filter.html

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