Django app: можно ли использовать `for loop` вне функции в views.py?
Я знаю, что в views.py я могу создать объект - например, словарь - который может быть использован в определенной функции. Например (views.py):
# here `monthly_challenges` is working
monthly_challenges = {
"january": "Eat no meat for the entire month!",
"february": "Walk for at least 20 minutes every day!",
"march": "Learn Django for at least 20 minutes every day!",
"april": "Eat no meat for the entire month!",
"may": "Walk for at least 20 minutes every day!",
"june": "Learn Django for at least 20 minutes every day!",
"july": "Eat no meat for the entire month!",
"august": "Walk for at least 20 minutes every day!",
"september": "Learn Django for at least 20 minutes every day!",
"october": "Eat no meat for the entire month!",
"november": "Walk for at least 20 minutes every day!",
"december": None
}
def index(request):
months = list(monthly_challenges.keys())
return render(request, "challenges/index.html", {
"months": months
})
Но возможно ли заполнить шаблон объектом словаря, заполненным оператором for loop вне функции в views.py?
Я безуспешно пытался использовать код ниже (views.py):
# here `monthly_challenges` is not working
monthly_challenges = {}
keys = range(1000000)
values = range(1, 2000000, 2)
for i in keys:
for x in values:
monthly_challenges[i] = x
def index(request):
months = list(monthly_challenges.keys())
return render(request, "challenges/index.html", {
"months": months
})
ошибка вывода:
Если это неправильный подход из-за разделения забот - я не уверен, что это так. Как это решить?