一、flask的基本使用-flask-创新互联

一、简介

创新互联建站专注于企业营销型网站、网站重做改版、云城网站定制设计、自适应品牌网站建设、H5响应式网站商城网站制作、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为云城等各大城市提供网站开发制作服务。

Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug  WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器。

“微”(micro) 并不表示你需要把整个 Web 应用塞进单个 Python 文件(虽然确实可以 ),也不意味着 Flask  在功能上有所欠缺。微框架中的“微”意味着 Flask 旨在保持核心简单而易于扩展。Flask 不会替你做出太多决策——比如使用何种数据库。而那些  Flask 所选择的——比如使用何种模板引擎——则很容易替换。除此之外的一切都由可由你掌握。如此,Flask 可以与您珠联璧合。

默认情况下,Flask 不包含数据库抽象层、表单验证,或是其它任何已有多种库可以胜任的功能。然而,Flask  支持用扩展来给应用添加这些功能,如同是 Flask  本身实现的一样。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。Flask  也许是“微小”的,但它已准备好在需求繁杂的生产环境中投入使用

二、安装

pip3 install flask

三、werkzeug简介

   Werkzeug是一个WSGI工具包,他可以作为一个Web框架的底层库。这里稍微说一下, werkzeug 不是一个web服务器,也不是一个web框架,而是一个工具包,官方的介绍说是一个 WSGI 工具包,它可以作为一个 Web 框架的底层库,因为它封装好了很多 Web 框架的东西,例如 Request,Response 等等

代码示例:

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)

四、flask快速使用

from flask import Flask # 实例化产生一个Flask对象 app=Flask(__name__) # 开启调试模式后,修改代码也可自动重启 app.debug=True # 将 '/'与视图函数index的对应关系添加到路由中 @app.route('/') def index():     return 'ok' if __name__ == '__main__':     app.run()

案例:登录,显示用户信息

main.py

from flask import Flask,render_template,request,redirect,session,url_for app = Flask(__name__) app.debug = True app.secret_key = 'sdfsdfsdfsdf' USERS = {     1:{'name':'张三','age':18,'gender':'男','text':"道路千万条"},     2:{'name':'李四','age':28,'gender':'男','text':"安全第一条"},     3:{'name':'王五','age':18,'gender':'女','text':"行车不规范"}, } @app.route('/detail/',methods=['GET']) def detail(nid):     user = session.get('user_info')     if not user:         return redirect('/login')     info = USERS.get(nid)     return render_template('detail.html',info=info) @app.route('/index',methods=['GET']) def index():     user = session.get('user_info')     if not user:         # return redirect('/login')         url = url_for('l1')         return redirect(url)     return render_template('index.html',user_dict=USERS) @app.route('/login',methods=['GET','POST'],endpoint='l1') def login():     if request.method == "GET":         return render_template('login.html')     else:         # request.query_string         user = request.form.get('user')         pwd = request.form.get('pwd')         if user == 'lqz' and pwd == '123':             session['user_info'] = user             return redirect('http://www.baidu.com')         return render_template('login.html',error='用户名或密码错误') if __name__ == '__main__':     app.run()

templates/detail.html

         Title     

详细信息 {{info.name}}

    
        {{info.text}}     

templates/index.html

         Title     

用户列表

             {% for k,v in user_dict.items() %}                                                                                            {% endfor %}     
{{k}}{{v.name}}{{v['name']}}{{v.get('name')}}查看详细

templates/login.html

         Title

用户名:

密码:

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:一、flask的基本使用-flask-创新互联
分享网址:http://azwzsj.com/article/ccdhjd.html