私はビューを持っています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 %}
これらの標準では、2 つの段落のどちらもテンプレートに表示されません。ただし、コード内のインスタンス whereTrue
およびFalse
appear を文字列に変更すると、突然、テンプレートが正常にレンダリングされます。なぜこれが起こるのですか?この動作をより明白/意味的に正しいものに変更する方法はありますか?