@gorodetskiykp
горе-программист

Как передать значение из view в поле формы?

Здравствуйте!

Есть следующее представление:
class MessageView(CreateView):
    model = Message
    form_class = MessageForm
    template_name = 'mssgs/message_form.html'
    success_url = 'messages'

    def get_context_data(self, **kwargs):
        group_id = self.kwargs['group']
        context = super(MessageView, self).get_context_data(**kwargs)
        context['group'] = Group.objects.get(pk=group_id)

        return context


..и, соответственно форма:
class MessageForm(ModelForm):

    class Meta:
        model = Message
        fields = ['group', 'category', 'message_text']
        widgets = {
            'group': TextInput(attrs={'value': 10}),
        }


Как в поле формы group передать значение контекста context['group'] из представления?

Спасибо!
  • Вопрос задан
  • 518 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
class MessageView(CreateView):
    model = Message
    form_class = MessageForm
    template_name = 'mssgs/message_form.html'
    success_url = 'messages'

    def get_initial(self):
        initial = super(MessageView, self).get_initial()
        group_id = self.kwargs['group']
        initial['group'] = Group.objects.get(pk=group_id)
        return initial
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы