zoukankan      html  css  js  c++  java
  • Flask 学习系列(一) -登录

    Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。
    Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
     
    以上叙述来自百度百科。
     
    BOSS说接下来的项目要用到Flask,便开始学习。
    今天先从简单的登录开始。
    1.开发工具用的是 汉化版的pycharm。免安装很方便。

    2.创建Flask 项目

     3.项目结构比较简单

    其中py文件写后端代码的。templates文件存放html页面。

    4.自动创建的项目自带hellow word,启动项目打开链接,便能看到熟悉的hellow word.

    5.登录页后端代码

    from flask import Flask
    from flask import render_template, redirect,url_for
    from flask import request
    app = Flask(__name__)
    
    @app.route('/login', methods=['POST','GET'])# 路由和请求方式设置
    
    def login():
        error = None
        if request.method == 'POST':
            if request.form['username']=='admin':
                return redirect(url_for('home',username=request.form['username']))
            else:
                error = 'Invalid username/password'
        return render_template('login.html', error=error)
    
    @app.route('/home')
    def home():
        return render_template('home.html', username=request.args.get('username'),ppt="tewe")
    
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    
    if __name__ == '__main__':
        app.run()
    

      

    6.在templates 文件夹下创建login.html和HOME.HTML,代码如下

    home

    <!DOCTYPE html>
    <html lang="zh-CN">
      <head>
        <meta charset="utf-8">
        <title>home</title>
      </head>
      <body>
        <h1>wlcome {{username}} , this is home</h1>
      <h2>{{ ppt}}</h2>
      </body>
    </html>
    

    login

    <!DOCTYPE html>
    <html lang="zh-CN">
      <head>
        <meta charset="utf-8">
        <title>login</title>
      </head>
      <body>
        <form  style="margin:20px;border:1px solid red" method="post" action="/login">
            <span>username:</span><input type="text" name="username" id="username"><br/>
            <span>password:</span><input type="password" name="password" id="password"><br/>
            <button type="submit" id="loginBtn">login</button>
        </form>
        {% if error %}
            <h1 style="color:red">{{ error }}!</h1>
        {% endif %}
      </body>
    </html>

    7.运行项目

    输入帐号密码,跳转到home

    demo完成。

    需要注意的地方比较少。

    1.一些必须导入的包需要全部导入

    2.render_template 对前端的传值方式值得学习,后面应该会继续记录这个东西的使用方法。

  • 相关阅读:
    大规模分布式存储系统笔记一二章 概述与单机存储系统
    Apache Avro总结
    可汗学院公开课统计学笔记 第11到16集 样本 总体 方差 标准差 诸方差公式
    可汗学院公开课统计学笔记 第1到10集 均值 中位数 众数 极差 统计图
    Mock、Powermock使用汇总
    如何解决NoSuchMethodError
    2019年我看手机之华为篇
    活着
    log4j使用指北
    关于Eclipse导入maven项目报空指针异常
  • 原文地址:https://www.cnblogs.com/liuruitao/p/7773559.html
Copyright © 2011-2022 走看看