我有一个登录django应用,我试图在其中通知用户凭据是否错误或登录是否成功。
问题是我在django中使用了消息框架,但是它没有出现在模板中。
from django.contrib import messages
def login_request(request):
if request.method == "POST":
username = request.POST['lognName']
password = request.POST['lognCode']
user = authenticate(username = username,password = password)
if user is not None:
login(request,user)
messages.info(request,f"You are now logged in as {username}")
return redirect("main")
else:
messages.error(request,"invalid username or password")
return render(request,'login.html')
{% if messages %}
{% for message in messages %}
<script>M.toast({html:"{{message}}",classes:'blue rounded',displaylength:2000});</script>
{% endfor %}
{% endif %}
即使我试图在if语句之外使用,吐司也不起作用
答案 0 :(得分:0)
尝试在其中设置脚本
$(document).ready(function($) { /* foreach message M.toast(...) */ });
我将在一个单独的js文件中亲自进行操作。
如果您想从js访问messages对象,请查看以下链接:Django Template Variables and Javascript