我正试图将上下文发送到我在标题中说过的大视野的视图。
这是我的班级观点:
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。但是我不知道该怎么做。
有人可以帮助我吗?谢谢!
答案 0 :(得分:1)
与任何基于类的视图一样,如果要添加其他上下文数据,请使用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)
答案 1 :(得分:0)
仅供参考。另一种方法是使用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 }}