我做了一个自定义的loginView,但无法到达模板中的extra_context字典。 (验证正常)
我的查看文件:
from django.contrib.auth import login
from .models import EsportUser
class LoginViewCustom(LoginView):
#esport_user = EsportUser.objects.first()
#extra_context = {'test42': esport_user}
template_name = 'users/login_register.html'
extra_context = {'test42': 'test'}
我的模板文件(login_register.html):
<a href="#">{% trans "Account" %} {{ test42 }}</a>
我的网址文件:
path('login/', views.LoginViewCustom.as_view(), name='login', ),
谢谢,史蒂芬(Stéphane)
答案 0 :(得分:2)
分享一个好的答案还为时不晚:
签出this similar question,基本上,您可以在url中调用as_view()
方法时将其他提取上下文传递给我们。
因此,在您的url.py
文件中,您可以看到以下内容:
path('login/', views.LoginViewCustom.as_view(extra_context={'test42': 'test'}), name='login', )
答案 1 :(得分:0)
烦恼@Stéphane,欢迎使用StackOverflow。
我认为您的问题是EsportUser是您的模型(模型是您用来创建对象的模板)。
一旦创建了EsportUser模型的对象实例(即通过您正在做的事情来创建用户),您就想query数据库来检索属于该模型的对象,< em>然后将那个对象(或某些对象属性)传递给模板。
假设您有一个EsportUser对象实例(即创建了一个用户),则可以尝试:
# here you query the first EsportUser object
esport_user = EsportUser.objects.first()
# here you pass that object into extra_context - not the model itself
extra_context = {'test42': esport_user}