django - 如何在 django 中正确显示 Flash 消息
问题描述
我有这个视图功能,需要在用户注册时向他们发送一条消息。现在运行良好,但问题是我设置了一条错误消息以显示用户名或密码何时不正确,并且默认情况下始终显示在那里。这是我的代码
视图.py
def signup(request):
form = CreateUserForm()
if request.method == 'POST':
form = CreateUserForm(request.POST)
if form.is_valid():
form.save()
user = form.cleaned_data.get('username')
messages.success(request, 'An account was created for ' + user)
return redirect('login')
def login_user(request):
username = request.POST.get('username')
password =
request.POST.get('password')
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
return redirect('home')
else:
messages.info(request, 'Incorrect Username or Password')
当我进入登录页面时,即使我刚到那里,它也只会显示错误的用户名或密码
如何让它仅在用户名或密码不正确时显示
解决方案
在mesasge.info 重定向到再次登录页面后
messages.info(request, 'User not exist')
return redirect('login')
在 html 文件中
{% for message in messages %}
<div style="width: 350px; margin-left:500px; " class="alert alert-{{ message.tags }} " id="msg" role="alert">
{{ message }}
{% endfor %}
推荐阅读
- android - BottomAppBar 和键盘之间的空间
- python - 基于熊猫列的gmaps标记大小
- flutter - 我在运行默认带有颤振的初始计数器应用程序时在控制台上得到了这个。我该如何解决这个问题?
- javascript - 如何在 Javascript 中使用 Web Audio API 更改 CSS 参数?
- postgresql - 在处理的 PostgresException 下 TransactionScope 下意外的 Postgres 连接中止
- postgresql - 无法从表中选择变量(Postgresql)
- ruby-on-rails - 提交到数据库后将String转换为Hash
- react-scripts - 全局设置反应脚本
- r - 递归估计的收益波动率
- python-3.x - 我是编码新手,如果我的问题很愚蠢,请原谅我,但我可以知道如何找到每个学生的考试总分吗?