Django Forms: Значение по умолчанию в запросе get

Я создаю сайт о личных финансах, который отображает информацию о ежемесячных транзакциях на главной странице. Я хочу, чтобы пользователь мог переключать месяцы с помощью выпадающего списка. К счастью, у меня уже есть код для фильтрации по дате транзакции, но у меня есть проблема с отображением значения по умолчанию в выпадающем списке. Выпадающий список заполняется словарем (month_year_select), как вы можете видеть в файле forms.py ниже. Я не получаю никаких сообщений об ошибках, просто приложение работает не так, как мне нужно.

Мой вопрос заключается в том, как мне заставить текущий месяц (январь, 2022) отображаться по умолчанию в выпадающем списке, когда пользователь переходит на главную страницу? На странице уже отображаются данные текущего месяца, но в выпадающем списке только последний месяц.

Я просмотрел тонну сообщений об этом, и то, которое кажется наиболее близким к тому, что мне нужно, находится здесь django forms: default values for bound forms

Я понимаю, что код views.py беспорядочен, заранее прошу прощения. Я новичок в python и буду очень признателен за любую помощь, которую вы можете предложить. Дайте мне знать, если вам нужны дополнительные объяснения/другие примеры кода. Спасибо!

python версии 3.9.9 django версия 4.0

Выпадающее изображение

forms.py

        
class MonthlyDateRangeForm(forms.Form):
    month_select = forms.CharField(
        required=False,
        initial=str(datetime.datetime.now().strftime('%b')+', '+str(datetime.datetime.now().year)),
        widget=forms.Select(choices=month_year_select),
        )
    def clean_month_select(self):
        if not self['month_select'].html_name in self.data:
            return self.fields['month_select'].initial
        return self.cleaned_data['month_select']

views.py

Вернуться на верх