Как отправить контекст в представлении на основе класса - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь отправить контекст представлению, основанному на классе, как я сказал в заголовке.

Это мое представление класса:

class RegisterUser(CreateView):
    templates = Templates.objects.get(isSelected=True)
    model= settings.AUTH_USER_MODEL
    form_class = RegisterForm
    template_name = "register/register.html"
    success_url = reverse_lazy('login')

Я хочу отправить 'шаблоныв контекст, а затем в HTML.Но я не знаю, как это сделать.

Кто-нибудь может мне помочь?спасибо!

Ответы [ 2 ]

1 голос
/ 14 июня 2019

Как и в любом представлении на основе классов, если вы хотите добавить дополнительные данные контекста, вы делаете это в методе get_context_data.

class RegisterUser(CreateView):
    model = settings.AUTH_USER_MODEL
    form_class = RegisterForm
    template_name = "register/register.html"
    success_url = reverse_lazy('login')

    def get_context_data(self, **kwargs):
        kwargs['templates'] = Templates.objects.get(isSelected=True)
        return super().get_context_data(**kwargs)
0 голосов
/ 14 июня 2019

Просто для информации. Другой способ сделать это - использовать объект view.
В этом случае вам не нужно переопределять get_context_data().

class RegisterUser(CreateView):
    model = settings.AUTH_USER_MODEL
    form_class = RegisterForm
    template_name = "register/register.html"
    success_url = reverse_lazy('login')

    def templates(self):
        return Templates.objects.get(isSelected=True)

А внутри вашего шаблона используйте:

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