我有一个主页,在这个主页中我包含了我连接的connexion.html。但我有这个错误: 'str'对象没有属性'visible_fields'
我的主页HTML:
{% extends "base.html" %} /* There are a css link of Bootstrap :bootstrap.min.css
<form method="POST" action="{% url 'connexion' %}" >
{% csrf_token %}
{{ form|bootstrap }}
<input type="submit" class="btn btn-success" value="Je m'inscris" >
</form>
...
<div class="panel-body">
{% load bootstrap %}
{% include "monsite/connexion.html" %}
</div>
...
我的connexion.html:
<link rel="stylesheet" href="/static/css/bootstrap.min.css"/>
{% load bootstrap %,=
<form method="POST" action="{% url 'connexion' %}" >
{% csrf_token %}
{{ form|bootstrap }}
<input type="submit" class="btn btn-success" value="Login" >
</form>
我对联系的看法:我还有家庭观点
def connexion(request):
error = False
if request.method == "POST":
form = connexionForm(request.POST)
if form.is_valid():
pseudo = form.cleaned_data["pseudo"]
mdp = form.cleaned_data["mdp"]
user = authenticate(username=pseudo, password=mdp)
if user != None :
login(request,user)
return redirect(reverse(accueil))
else :
error = True
else :
form = connexionForm()
return render(request,"monsite/connexion.html",locals())
connexionForm只是form.py中包含2个字段的表单
所以我想从我的主页登录......
答案 0 :(得分:1)
观点不会像那样工作。
您不能包含模板,并希望它以某种方式调用视图。模板没有自己的视图,模板通常不知道或关心他们从哪个视图调用。包括&#34; connexion.html&#34;只使用当前模板上下文呈现它,在这种情况下,它没有任何名为&#34; form&#34;的变量。
如果要包含带有自定义上下文的模板,则需要使用inclusion template tag。
答案 1 :(得分:0)
在locals()中,有form和所有变量;
错误是在connexion.html中的bootstrap |形式,但我不知道在哪里