Django模拟从数据库取用户信息跳转到首页

Posted sunnyyangwang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django模拟从数据库取用户信息跳转到首页相关的知识,希望对你有一定的参考价值。

Django模拟从数据库取用户信息,跳转到首页。

 

1、数据库取用户数据。首先需要造model模型。

from django.db import models

class UserInfo(models.Model):

    username = models.CharField(max_length=32)

    password = models.CharField(max_length=64)

     def __str__(self):

        return self.username

 分析def __str__(self):使用方法。

 技术图片

  加上这个处理结果

 技术图片 技术图片

 

2、配置数据库login登录账号密码。

先插入数据两条记录。

 技术图片

 数据里面查指定数据

需要先创建models。

obj = models.UserInfo.objects.filter(username=user, password=pwd).first()

 前端传过来的数据。

user = request.POST.get(‘user‘, None) #避免提交空,时异常
user = user.strip() #用户输入末尾有空格是去空格
pwd = request.POST.get(‘pwd‘)

 技术图片

  浏览器访问,

 技术图片

 自此完成并处理了,从数据拿账号密码的问题。

代码问题。

Login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
  <form action="/login/" method="post">
      % csrf_token %
      <p>
          <label>用户名</label>
          <input name="user" type="text">
      </p>
      <p>
          <label>密码</label>
          <input name="pwd" type="pwd">
          <input type="submit" value="提交" >
          <span style="color: red;">error_msg </span>
      </p>
  </form>
</body>
</html>

 Index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
   <span>Welcome to <b> loginuser </b></span>
</body>
</html>

 Views.py配置。

#coding:utf-8
from django.shortcuts import render, HttpResponse, redirect
from loginb import models
def login(request):
    error_msg = ‘‘
    if request.method == "GET":
        return render(request, ‘login.html‘)
    elif request.method == "POST":
        user = request.POST.get(‘user‘, None) #避免提交空,时异常
        user = user.strip() #用户输入末尾有空格是去空格
        pwd = request.POST.get(‘pwd‘)
        print(user, pwd)
        obj = models.UserInfo.objects.filter(username=user, password=pwd).first()
        # print (obj)
        if obj:
            # res = redirect(‘/index‘)
            # res.set_cookie(‘loginuser‘, user)
            # return res
            return redirect(‘/index‘)
        else:
            error_msg = "账号或者密码不对"
            return render(request, ‘login.html‘, ‘error_msg‘: error_msg)
    else:
        return render(request, ‘login.html‘)
def index(request):
    user_list = models.UserInfo.objects.all()
    # print(useraa.query)  # 打印SQL语句
    return render(request, ‘index.html‘, ‘user_list‘: user_list,)

 遗留问题,

怎么将登录请求的用户信息传递给跳转页面。这里需要借助session配置

 处理cookies问题。配置用户只有在登录情况下,才可以使用index,否则跳转页面。

只需要修改views.py配置信息,

技术图片

  实现目的:只有登录之后才可以访问index页面,否则一致停在login登录页面。

以上是关于Django模拟从数据库取用户信息跳转到首页的主要内容,如果未能解决你的问题,请参考以下文章

微信内置浏览器怎么才能自动跳转到手机自带浏览器

Axure中怎么实现变量值在页面中的传递

如何从微信浏览器中跳转到APP指定页面?

微信绑定用户名免登陆的思路

如何用WxJump实现从微信中自动跳转到浏览器并下载APP(apk下载)

ASP.net中论坛各页面之间的跳转(注:跳转到指定的用户名)