前端实现记住密码

html 代码:

<el-checkbox v-model="checked">记住密码</el-checkbox>

data里的数据:

  data: function() {
    return {
      checked: false
    };
  },

登陆之后:

// 如果用户勾选了记住密码,则保存到本地存储中
if (this.checked) {
   localStorage.setItem("username", this.param.username);
   localStorage.setItem("password", this.param.password);
} else {
   localStorage.removeItem("username");
   localStorage.removeItem("password");
}

初次加载mounted里:

  mounted() {
    // 检查本地存储中是否有保存的用户名和密码
    if (localStorage.getItem("username") && localStorage.getItem("password")) {
      this.param.username = localStorage.getItem("username");
      this.param.password = localStorage.getItem("password");
      this.checked = true;
    }
  }

在上面的代码中,我们使用了localStorage来保存用户名和密码。当用户勾选记住密码时,将用户名和密码保存到localStorage中;当用户下次打开登录页面时,从localStorage中读取用户名和密码,并自动填充到登录表单中。当用户取消勾选记住密码时,从localStorage中删除保存的用户名和密码。

  • 12
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Django的登录功能中记住密码实现可以通过使用Django自带的AuthenticationForm来实现。AuthenticationForm提供了一个remember_me参数,如果设置为True,则会在用户登录时创建一个名为“session_key”和值“remember_me”的cookie,用于在下一次访问时自动填充用户名和密码字段。 具体实现步骤如下: 1. 在你的Django项目中创建一个login视图,该视图将处理用户的登录请求。 2. 使用Django自带的AuthenticationForm来创建一个表单,将该表单传递给模板,以在登录页面上呈现表单。 3. 在处理用户登录请求的视图中,如果表单验证成功,则在用户登录后设置session_key cookie。 4. 如果用户点击了“记住我”选项,则设置session_key cookie的有效期为长期有效,否则设置为短期有效。 下面是一个简单的示例代码: ```python from django.contrib.auth.forms import AuthenticationForm from django.shortcuts import render, redirect from django.contrib.auth import authenticate, login def login_view(request): if request.method == 'POST': form = AuthenticationForm(request=request, data=request.POST) if form.is_valid(): username = form.cleaned_data.get('username') password = form.cleaned_data.get('password') remember_me = form.cleaned_data.get('remember_me') user = authenticate(request, username=username, password=password) if user is not None: login(request, user) if remember_me: request.session.set_expiry(1209600) # two weeks else: request.session.set_expiry(0) # session expires when user closes browser return redirect('home') else: form = AuthenticationForm() return render(request, 'login.html', {'form': form}) ``` 在上面的代码中,我们首先导入了AuthenticationForm和一些其他必要的模块。然后我们定义了一个login_view视图,该视图将处理用户的登录请求。 在视图中,我们首先检查请求的方法是否为POST。如果是POST请求,则我们使用AuthenticationForm来验证表单数据。如果表单验证成功,则我们使用authenticate()方法来验证用户的凭据,如果凭据有效,则登录用户。 如果用户选择了“记住我”选项,则我们使用request.session.set_expiry()方法设置session_key cookie的有效期为两周。否则,我们将该cookie的有效期设置为会话结束时过期。 最后,我们将表单传递给模板以在登录页面上呈现表单。 希望这可以帮助你实现Django登录中的记住密码功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值