我有一个看法login()
:
from django.http import HttpRequest
from useraccounts.models import BadIP
def login(request):
client_address = request.META['REMOTE_ADDR']
client_instance = BadIP.objects.get(ip_address=client_address)
if client_instance.ban_state == True:
return render(request, 'login.html', {'banned':True})
else:
return render(request, 'login.html', {'banned':False})
还有一个模板:
{% if banned == False %}
<p>Content</p>
{% endif %}
{% if banned == True %}
<p>Content #2</p>
{% endif %}
在这些标准下,这两个段落都不会在模板中呈现。但是,如果我将代码中的实例更改True
为False
字符串,则模板会突然呈现正常。为什么会发生这种情况,有没有办法改变这种行为更明显/语义正确?