django登录界面

视图界面(views.py):

def login(request):
    result = {'error': ''}# 发送消息
    if request.method == 'POST':  #如果是POST传输方式
        username = request.POST.get('username') #获取页面输入的账号
        buyer_lst = Buyer.objects.filter(name=username)#与数据库ID进行对比
        if buyer_lst: #如果id成真
            pwd = request.POST.get('userpass') #获取页面输入的密码
            password = pwd_encrypt(pwd)  # 把从页面获取来的密码加密
            buyer_obj = buyer_lst.first()#获取与ID 相同的第一条属性
            if password == buyer_obj.password:#比较如果密码相等
                response = redirect('/buyer/index/')# 重定向到首页
                # 将用户名保存到session中
                request.session['username'] = username #绑定用户ID保存到数据库
                response.set_cookie('user_id', buyer_obj.id)  # 保存用户的id发送给服务器 {a:id}
                return response
            else:
                result['error'] = '密码错误!!!'
        else:
            result['error'] = '用户名不存在'
    return render(request, 'buyer/login.html', {'result': result})
    

网站页面(html):

  
{% csrf_token %}
昵称:
密码:

{{ result.error }}

注销

def logout(request):
    del request.session['username'] 
    #点退出删除保存的在数据库的ID  COOKie 不删还可以访问购物车
    return redirect('/buyer/index/') #重定向到首页
    ```

你可能感兴趣的:(django登录界面)