无用之flask学习

Posted di2wu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无用之flask学习相关的知识,希望对你有一定的参考价值。

一、认识flask

  1、短小精悍、可扩展性强 的一个web框架

    注意:上下文管理机制

  2、依赖wsgi:werkzurg

from werkzeug.wrappers import Request, Response

@Request.application
def hello(request):
    return Response(Hello World!)

if __name__ == __main__:
    from werkzeug.serving import run_simple
    run_simple(localhost, 4000, hello)

注意__init__和__call__的区别:

class Foo():
    def __init__(self):
        print(init)
    def __call__(self, *args, **kwargs):
        print(call)
a = Foo()
a()

#init
#call

一个简单的flask代码

from flask import Flask
app = Flask(__name__)
@app.route(
/index) def index(): return hello world if __name__ == __main__: app.run(local

二、一个有登录功能的flask例子

  1、template可以类似django修改

  2、static有两种方式,

     A:  a、 static_folder="staticccc"  b、将static文件夹命名为 staticccc   c、img引用的时候用staticccc/xxxxx
    B: a、 static_url_path=‘/vvvvv‘ b、 img引用的时候用 /vvvvv/xxxxx
from flask import Flask,render_template,request,redirect,session

# app = Flask(__name__,template_folder="templates",static_folder="staticccc",static_url_path=/vvvvv)
app = Flask(__name__,template_folder="templates",static_folder="static")
app.secret_key = asdfasdf

@app.route(/login,methods=["GET","POST"])
def login():
    if request.method == GET:
        return render_template(login.html)
  # request.args 获取的是get的信息 user
= request.form.get(user) #获取的是post的信息 pwd = request.form.get(pwd) if user == oldboy and pwd == 666: session[user] = user return redirect(/index) return render_template(login.html,error=用户名或密码错误) # return render_template(login.html,**{"error":用户名或密码错误}) @app.route(/index) def index(): user = session.get(user) if not user: return redirect(/login) return render_template(index.html) if __name__ == __main__: app.run()

index.html

<body>
    <h1>欢迎使用</h1>
    <img src="/static/111.png" alt="">
</body>

login.html

<body>
    <h1>用户登录</h1>
    <form method="post">
        <input type="text" name="user">
        <input type="password" name="pwd">
        <input type="submit" value="提交">{{error}}
    </form>
</body>

 




以上是关于无用之flask学习的主要内容,如果未能解决你的问题,请参考以下文章

Flask之测试与部署

Python库源码学习1:Flask之app.run

flask之ssti模版注入从零到入门

python web开发之flask框架学习 加载模版

无用之学matplotlib

用尽洪荒之力学习Flask源码