zoukankan      html  css  js  c++  java
  • [py]flask从0到1-模板/增删改查

    flask知识点

    1.后端渲染html到前端
        render_template
    2.后端获取前端数据
        request.args.get
    3.前端获取后端数据
        模板
    
    4.警示消息 flash
    {{ get_flashed_messages()[0] }}
    

    第一个 hello maotai

    from flask import Flask
    
    app = Flask(__name__)
    
    
    @app.route('/')
    def hello_world():
        return 'Hello Mao Tai!'
    
    
    if __name__ == '__main__':
        app.run(debug=True)
    

    用户登录: 没时间了,上车

    分析需求

    访问/login, 提示登录页(输入用户名密码)
        如果没输入用户名 或密码 分别警示,让重新输入
        如果输入错误,则提示用户名密码错误
    
    点击登陆 /loginaction,转到用户详情页user.html
    

    app.py

    from flask import Flask, render_template, request, flash
    from models import User
    
    app = Flask(__name__)
    app.secret_key = "123"
    
    # 3.登录, 登录后展示欢迎页
    @app.route("/login")
    def login():
        return render_template("login.html")
    
    
    @app.route("/loginaction")
    def loginaction():
        user = request.args.get("user")
        pwd = request.args.get("pwd")
    
        if not user:
            flash("pls input user")
            return render_template("login.html")
        if not pwd:
            flash("pls input pwd")
            return render_template("login.html")
        if user == "admin" and pwd == "123456":
            flash("welcome")
            #传回字典
            return render_template("user.html", user={'user': user, 'pwd': pwd})
        return render_template("login.html")
    
    
    # 1 返回html  html放在templates下面即可
    @app.route("/")
    def index():
        return render_template("index.html")
    
    
    # 2 渲染模板
    @app.route("/user")
    def user_index():
        user = User("cristin", "123345")
        return render_template("user.html", user=user)
    
    
    app.run(debug=True)
    

    templates/login.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>login</title>
    </head>
    <body>
    <form action="/loginaction">
        {{ get_flashed_messages()[0] }}<br>
        user: <input type="text" name="user"><br>
        pwd: <input type="text" name="pwd"><br>
        <input type="submit">
    </form>
    </body>
    </html>
    

    user.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>user</title>
    </head>
    <body>
    {{ user.user }}
    {{ user.pwd }}
    </body>
    </html>
    

    需要补充下对db的增删改查

  • 相关阅读:
    javaScript设计模式探究【1】
    Java基础算法集50题
    DataTable学习笔记排序细则、列隐藏[3]
    javaScript设计模式探究【4】工厂模式
    javaScript设计模式探究【3】
    一次面试感想+js最近学习体会
    DataTable学习笔记范例应用篇[2]
    腾讯2013实习生招聘面经
    初品cakephp
    php编译中配置libxml2的错误
  • 原文地址:https://www.cnblogs.com/iiiiiher/p/8242046.html
Copyright © 2011-2022 走看看