У меня есть ошибка в шаблоне django для цикла

I have an error in django template for loop.    
My code: 
     <div class="form-group col-md-4 form-field">
                                        <label>Year</label>
                                        <select name="year" id="year" name="year">
                                            {% for y in range(1980, (datetime.datetime.now().year + 1)) %}
                                                <option value="{{ y }}">{{ y }}</option>
                                            {% endfor %}
                                        </select>
                                    </div>
    
    My error:
    'for' statements should use the format 'for x in y': for x in y range(1980, (datetime.datetime.now().year + 1))
    
    Please help me to resolve this issue.

Пожалуйста, помогите мне решить этот вопрос. Пожалуйста, помогите мне решить эту проблему.

Вы не можете использовать стандартную логику Python в шаблонах.

Прочитайте DOCS по этой теме.

Самый простой способ - создать пользовательский фильтр тегов шаблона:

import datetime
from django import template

register = template.Library()

@register.filter
def get_year_range(starting_year):
    return range(int(starting_year), (datetime.datetime.now().year + 1))

И использовать его в шаблоне:

{% load custom_tags %}

...
{% for y in "1980"|get_year_range %}
    <option value="{{ y }}">{{ y }}</option>
{% endfor %}

БОЛЬШЕ О ТЕГАХ ШАБЛОНОВ

I solve my issue using following code:
 import datetime

 today = datetime.date.today()
        year = today.year
        year_dropdown = []
        for y in range(year,1899,-1):
            year_dropdown.append(y)

Pass key in render

return render(request, "add-ad.html",
                      {'year_dropdown': year_dropdown })

My html form django template code:
  <div class="form-group col-md-4 form-field">
                                    <label>Year</label>
                                    <select name="year" id="year" name="year" class="form-control basic-select">
                                        <option value="">Choose...</option>
                                        {% for y in year_dropdown %}
                                      
                                        <option value="{{ y }}">{{ y }}</option>
                                        {% endfor %}
                                    </select>
                                </div>
                                
Вернуться на верх