def tupu(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] if not username or not password: session['tip']='请输入账号密码' return redirect(url_for('login')) data = select_all(f'select * from admin_table WHERE username=\'{username}\'',None) # 验证用户名和密码是否一致 if len(data)<1: session['tip'] = '用户账号有误' return redirect(url_for('login')) elif username == data[0]['username'] and password == data[0]['password']: # print('Login success.') session['username'] = username session.permanent = True # return render_template("index.html") return redirect(url_for('tupu')) else: session['tip'] = '用户密码有误' return redirect(url_for('login')) elif session.get('username'): return render_template("index.html") else: return redirect(url_for('login'))
时间: 2024-02-14 09:24:02 浏览: 136
这段代码看起来像是一个 Flask Web 应用程序的视图函数,当访问 '/tupu' 时,如果是 POST 请求,会从表单中获取用户名和密码,然后检查它们是否为空,如果不为空,则从数据库中查询是否有该用户的记录,如果有,则比较该用户的密码是否与表单提交的密码相同,如果相同,则将该用户的用户名存储到会话中,并将浏览器的会话 cookie 设置为永久有效,并返回到 '/tupu' 页面。如果没有找到该用户记录或密码不匹配,则会将错误提示信息存储到会话中,并重定向到登录页面。如果是 GET 请求且会话中已经存储了用户名,则返回 'index.html' 页面,否则重定向到登录页面。
相关问题
def home(request): if request.method == 'GET': return render(request, 'login/home.html')
这是一个 Django 视图函数,它会处理 GET 请求,并渲染一个名为 "home.html" 的模板文件并返回给用户。通常情况下,这个函数会在用户访问网站首页时被调用,用于展示网站的主页。如果请求方式不是 GET,那么该函数不会做出任何响应。在模板文件中,你可以通过 Django 模板语言来渲染动态内容,如用户信息、文章列表等等。
from django.shortcuts import render # Create your views here. def index(request): return render(request,'index.html') def login(request): if request.method=='POST': username=request.POST.get('username') userpsd=request.POST.get('password') if username and userpsd: username=username.strip() try: user=Student.objects.get(stuname=username) if user.stupassword==userpsd: return render(request,'index.html') else: message='密码错误' except: message='用户不存在' return render(request,'denglu.html') return render(request,'index2.html') def register(request): if request.method=='POST': username = request.POST.get('username') userpsd = request.POST.get('password') user=Student() user.stuname=username user.stupassword=userpsd user.save() return render(request,'register.html')
这是一个基于 Django 开发的网站的视图函数代码。其中包含三个视图函数:index、login 和 register。
index 视图函数用于渲染首页模板 index.html。
login 视图函数用于处理用户登录的 POST 请求,首先从请求中获取用户名和密码,然后对用户名进行去除空格操作,并通过 Django ORM 根据用户名获取 Student 模型实例,判断用户输入的密码是否与数据库中保存的密码一致,若一致则渲染 index.html 模板,否则返回错误信息并渲染登录页面模板 denglu.html。
register 视图函数用于处理用户注册的 POST 请求,从请求中获取用户名和密码并创建一个 Student 实例,最后保存到数据库中,并渲染注册页面模板 register.html。
阅读全文