[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
@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)

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>

原文地址:https://www.cnblogs.com/iiiiiher/p/8242046.html

时间: 2024-10-08 01:29:59

[py]flask从0到1的相关文章

Flask 1.0.2 启动debug模式

$ export FLASK_ENV=development # Windows将export 换成 set # $ export FLASK_DEBUG = 1 # 这样也可以 $ flask run Flask 1.0之后不再支持通过如下方式启动Debug app.debug = True app.run(debug=True) 更多可参考官方文档 中文版 原文地址:https://www.cnblogs.com/josephchuh/p/9295128.html

[py]flask蓝图的使用

参考 flask挺挺轻巧的, 因此玩一玩它. 如果用它做大型点的项目, 就用到了它的蓝图组织项目. 一时半会不太清楚这玩意怎么用, 得撸一撸py基础了. 我搞了个movie小的flask栗子来用用蓝图小功能, git地址如下. 项目分前台 home, 后台admin模块.使用蓝图来组织. https://github.com/lannyMa/movie 首先,我对蓝图的理解相对通俗,就是觉得蓝图对于视图方法模块化.大项目协同开发过程中的一个很好的工具. 1.下图是我们通常情况下使用的项目组织结构

py练习之0到10000之间的所有数不包含5,10,15,30,60的倍数

"""" # -*- coding: cp936 -*- def number(): for x in range(1,5): for y in range(1,5): for z in range(1,5): if x!=y and y!=z and z!=x: print x,y,z if x%2!=1 and y%2!=1 and z%2!=1: print x,y,z if __name__=='__main__': number() ""

python manage.py runserver 127.0.0.1:8000 启动后台有两个启动进程

是因为django设置自动加载配置文件的原因.在运行命令后面可以加--noreload这样就只会显示一个进程,但是修改文件后,django不会主动去加载配置文件. 如果settings.py中DEBUG=False时,django不会处理静态文件,这就可以使用--insecure参数强制django处理静态文件. 原文地址:https://www.cnblogs.com/st12345/p/9597171.html

Flask:cookie 和 session (0.1)

Windows 10家庭中文版,Python 3.6.4,Flask 1.0.2 Cookie是什么?有什么用? 某些网站为了辨别用户身份.进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密).定义于 RFC2109 和 2965 中的都已废弃, 最新取代的规范是 RFC6265 .(可以叫做浏览器缓存)(来自百度百科) Session是什么?有什么用? Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web 页之间跳转时,存储在 Sessi

让Flask处理异步请求

今天意外在网上看到一篇文章,写到 后端使用gunicorn+flask的方式,刚开始就直接使用flask跑,但是有一次就出现502了,发现由于flask是单进程处理请求的,不像Tornado的异步,同时访问的人数稍微过多,就会出现阻塞的情况,导致nginx出现502的问题 于是开始寻找flask处理异步请求的解决方案 首先 我不了解tornado的异步处理方式,有时间我会去了解一下 其次,我在实验里犯了一个错误,我随手用sleep(100)去做阻塞,造成的结果是整个进程被我挂起了,其实我只需要在

flask学习1

安装 sudo pip install flask 会同时安装flask\jinja2\wsdl,此时我在apache下创建工作目录: cd /Applications/XAMPP/xamppfiles/htcdos mkdir learnFlask 测试flask是否安装成功,进入python环境: import flask 没反应并显示空白一行,表示安装成功了. 编写一个测试文件index.py from flask import Flask app = Flask(__name__) @a

flask 大型教程项目优化版(1):Hello World

Hello World 作者背景 作者是一个使用多种语言开发复杂程序并且拥有十多年经验的软件工程师.作者第一次学习 Python 是在为一个 C++ 库创建绑定的时候. 除了 Python,作者曾经用 PHP, Ruby, Smalltalk 甚至 C++ 写过 web 应用.在所有这些中,Python/Flask 组合是作者认为最为自由的一种. 应用程序简介 作为本教程的一部分–我要开发的应用程序是一个极具特色的微博服务器,我称之为 microblog . 我会随着应用程序的不断地进展将涉及到

Flask request,g,session的实现原理

最近一直在研究Flask,由于gfirefly中提供的Http接口使用了Flask,以前都是写一些游戏中简单的操作,最近涉及到Flask的方面比较多,所以就认真研究了下.对Flask的request context和app context略有心得,所以和小伙伴们分享一下Flask的request原理. 在我们视图中要使用request时只需要from flask import request就可以了很好奇在多线程的环境下,是如何保证request没有混乱的在flask.globals.py中 d