flask框架(二):简单的登录demo

一:main.py

# -*- coding: utf-8 -*-
# @Author : Felix Wang
# @time   : 2018/7/3 22:58

from flask import Flask, render_template, request, redirect, session, url_for

app = Flask(__name__)
app.debug = True  # 自动重启
USERS = {
    1: {‘name‘: ‘大白‘, ‘age‘: ‘18‘, ‘gender‘: ‘男‘, ‘text‘: ‘非常可爱‘},
    2: {‘name‘: ‘小白‘, ‘age‘: ‘20‘, ‘gender‘: ‘男‘, ‘text‘: ‘非常暖‘},
    3: {‘name‘: ‘张三‘, ‘age‘: ‘21‘, ‘gender‘: ‘女‘, ‘text‘: ‘天下第一美‘},
    4: {‘name‘: ‘王五‘, ‘age‘: ‘20‘, ‘gender‘: ‘女‘, ‘text‘: ‘帝国理工宅女‘},

}

@app.route(‘/detail/<int:nid>‘, methods=[‘GET‘])  # 动态url传入一个值
def detail(nid):
    user = session.get(‘user_info‘)
    if not user:
        url = url_for(‘l1‘)  # 根据别名生成url
        return redirect(url)
    info = USERS[nid]
    return render_template(‘detail.html‘, info=info)  # html 文件放在templates文件夹

@app.route(‘/login‘, methods=[‘GET‘, ‘POST‘], endpoint=‘l1‘)  # endpoint 表示别名
def login():
    if request.method == ‘GET‘:
        return render_template(‘login.html‘)
    else:
        user = request.form.get(‘user‘)  # 从表单中获取数据
        pwd = request.form.get(‘pwd‘)
        if user == ‘alex‘ and pwd == ‘123‘:
            session[‘user_info‘] = user
            return redirect(‘http://www.baidu.com‘)  # 跳转
        return render_template(‘login.html‘, error=‘用户名或密码错误‘)  # error对应着前面的模板语言error

@app.route(‘/index‘, methods=[‘GET‘])
def index():
    user = session.get(‘user_info‘)
    if not user:
        return redirect(‘/login‘) # 跳转到登录页
    return render_template(‘index.html‘, user_dict=USERS)

if __name__ == ‘__main__‘:
    app.run()

二:login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>用户登录</h1>
<form method="post">
    <input type="text" name="user">
    <input type="text" name="pwd">
    <input type="submit" value="登录">{{error}}

</form>
</body>
</html>

三:index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>用户列表</h1>
<table>
    <!--从字典中循环读取键和值-->
    {% for k,v in user_dict.items() %}
    <tr>
        <td>{{k}}</td>
        <!--获取字典中的值有三种-->
        <td>{{v.name}}</td>
        <td>{{v[‘name‘]}}</td>
        <td>{{v.get(‘name‘)}}</td>
        <td><a href="/detail/{{k}}">查看详情</a></td>
    </tr>
    <!--结束循环-->
    {% endfor %}
</table>
</body>
</html>

四:detail.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>详情信息:{{info.name}}</h1>
<div>
    {{info.text}}
</div>
</body>
</html>

原文地址:https://www.cnblogs.com/felixwang2/p/9261493.html

时间: 2024-07-31 06:48:54

flask框架(二):简单的登录demo的相关文章

Xamarin.Android再体验之简单的登录Demo

一.前言 在空闲之余,学学新东西 二.服务端的代码编写与部署 这里采取的方式是MVC+EF返回Json数据,(本来是想用Nancy来实现的,想想电脑太卡就不开多个虚拟机了,用用IIS部署也好) 主要是接受客户端的登陆请求,服务器端返回请求的结果 这里的内容比较简单不在啰嗦,直接上代码了: 1 using System.Linq; 2 using System.Web.Mvc; 3 namespace Catcher.AndroidDemo.EasyLogOn.Service.Controller

flask框架:简单的监控服务器的系统DEMO

前段时间应领导要求,需要开发一套服务端的资源监控的脚本,通过python脚本监控服务器的资源状态,将监控数据录入到数据库表,而后直接分析入库的统计结果生成趋势图表以供参考!大概花了一个多星期把整个系统写完,但是总觉得无法达到实时的监控确实是一个很大遗憾.因此在同事的的推荐下初步学习了一下flask框架,不过百度了好多文章,大部分文章和DEMO都无法满足我得需求.最后,通过CSDN小黑鹅的博客找到一点线索(博客地址如下),在他博客基础山整合了一下,自己写了一个学习的DEMO,帮助跟我一样的兄弟能够

SSH框架的简单搭建登录

一.SSH架构 1.Struts 2 + Spring + Hibernate 2.以Spring作为核心框架,数据持久化使用Hibernate完成,表现层使用Struts 2 3.Spring提供对象管理.面向切面编程等实用功能 4.通过Spring提供的服务简化编码.降低开发难度.提高开发效率 二.需要导入依赖jar SSH整合体验最不好的就是添加jar包,由于三个框架所依赖的jar包非常多,其中有一些jar包可能冲突,我们应该将冲突的jar包,保留高级版本的,删掉低级版本的. 其中stru

基于SSM框架实现简单的登录注册

一.环境配置 工程目录 在pom.xml添加依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd

深入学习Flask框架之简单创建一个项目

在前面一篇讲了如何创建一个虚拟环境,今天这一篇就来说说如何创建一个简单的Flask项目.关于Flask的具体介绍就不详细叙述了,我们只要知道它非常简洁.灵活和扩展性强就够了.它不像Django那样集成度特别高.Flask只是一个内核,默认依赖于两个外部库: Jinja2 模板引擎和 Werkzeug WSGI 工具集,其他很多功能都是以扩展的形式进行嵌入使用. 一.一个简单的小例子 创建一个Flask项目的步骤: 1.导入Flask类 2.创建程序实例 3.定义视图(函数) 4.启动服务器 1

[Python WEB开发] 使用WSGI开发类Flask框架 (二)

WSGI     Web服务器网关接口 WSGI主要规定了Web服务器如何与Web应用程序进行通信,以及如何将Web应用程序链接在一起来处理一个请求. wsgiref Python中的WSGI参考模块 一.WSGI 应用程序端: 1. 根据WSGI定义,应用程序应该是可调用对象 2.该可调用对象必须有两个固定参数:一个是含有服务器环境变量的字典,另一个是可调用对象,该对象使用HTTP状态码和会返回给客户端的HTTP头来初始化响应 environ 变量包含一些熟悉的环境变量,如HTTP_HOST,

linux下Flask框架搭建简单网页

开始安装FLASK需要创建一个虚拟环境,虚拟环境可以不干扰正在使用的系统环境,避免影响,并且也不需要完全的root权限,更加安全可靠. 搭建环境 Python3.4 进入到microblog目录下创建一个虚拟环境 python -m venv flask 一些系统中可能需要使用命令Python3 Python2.7则需要安装虚拟环境 sudo apt-get install python-virtualenv 创建虚拟环境 virtualenv flask 进入flask目录下的bin然后安装f

19.3.19 使用Flask框架搭建一个简易登录服务器

import Flask import json from Flask import request server1 = flask.Flask(__name__) #实例化一个flask对象 @server1.route('/login',methods=['get','post']) #@server.route()可以将普通函数转换为服务器,包括登录接口路径.请求方式 def login(): username = request.values.get('name') #获取通过url请求

Flask框架实现QQ账号登录!Python框架简直无敌!

前期准备 因为注册QQ互联需要已备案的网站,所以需要准备一个已备案的网站与域名. 首先访问QQ互联平台 https://connect.qq.com/ ,注册成为开发者: 然后创建一个网站应用,等审核成功后会得到一个APP ID与APP KEY,后面会使用到. 开发流程 图1 准备网站应用 1 前端放置登录按钮 在网站找一个合适的位置放置登录按钮 (建议放置在首页.登录页以及注册页) .登录按钮图标在QQ互联平台下载,上面提供了多种样式.效果如下: 图2 登陆页 具体HTMl代码如下: <a h