zoukankan      html  css  js  c++  java
  • flask之response

     1     import os
     2     from flask import Flask,render_template,redirect,jsonify,send_file
     3     app=Flask(__name__)
     4     
     5     #开发中开启debug模式,也可以直接在app.run()中设置参数
     6     # app.debug=True
     7     # app.config['DEBUG']=True
     8     
     9     
    10     #(1)flask中的return类似django中的return HttpResponse()
    11     #return直接返回文本内容,在1.1.1版本之后可以返回字符串、字典、元组等,
    12     # The return type must be a string, dict, tuple, Response instance, or WSGI callable
    13     @app.route('/')
    14     def home():
    15         return  'first_flask'
    16     
    17     # @app.route('/')
    18     # def home():
    19     #     return  {'key':'first_flask' }
    20     
    21     #(2)flask中的return render_template() 类似django中的return render()
    22     #return render_teplate()返回静态文件页面
    23     @app.route('/index')
    24     def index():
    25         return render_template('index.html')
    26     
    27     
    28     #(3)flask中的return redirect()类似django中的return redirect()重定向302临时
    29     #return redirect()重定向请求
    30     @app.route('/reback')
    31     def reback():
    32         return redirect('/index')
    33     
    34     
    35     
    36     #(4)flask中的jsonify()支持直接发送json数据类型,response-headers中的content-type:applicaiton/json
    37     @app.route('/flask_json')
    38     def flask_json():
    39         return jsonify(['a',2])
    40     
    41     
    42     #(5)flask中的return send_file()直接可以返回文件
    43     #后端会对send_file返回的文件进行自动识别,类未识别或者浏览器不能解析的就会直接下载
    44     @app.route('/flask_file')
    45     def flask_file():
    46         filepath=os.path.join(os.path.dirname(os.path.abspath(__file__)),'file')
    47         filename='1.png'      #Content-Type: image/png
    48         #filename='1.mp3'      #Content-Type: audio/mpeg
    49         #filename='1.mp4'       #Content-Type: video/mp4
    50         # filename = '1.pdf'    #Content-Type: application/pdf
    51         # filename = '1.pptx'   #Content-Type: application/vnd.openxmlformats-officedocument.presentationml.presentation
    52         # filename = '1.docx'   #Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
    53         # filename='1.zip'      #Content-Type: application/x-zip-compressed
    54         # filename='1.rar'      #Content-Type: application/octet-stream
    55         file=os.path.join(filepath,filename)
    56         return send_file(file)
    57     
    58     
    59     if __name__ == '__main__':
    60         #flak服务默认端口是5000,可以通过参数指定
    61         # app.run()
    62         app.run(host='192.168.16.14',port=8888,debug=True)

     

    templates模板文件中的页面index.html:

      

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 </head>
     7 <body>
     8 <h1>登陆成功,欢迎来到index页面</h1>
     9 <a href="">点击查看数据信息</a>
    10 </body>
    11 </html>
  • 相关阅读:
    Siege 3.0 正式版发布,压力测试工具
    Pomm 1.1.2 发布,专为 PG 设计的 ORM 框架
    Whonix 0.5.6 发布,匿名通用操作系统
    国内开源 java cms,Jspxcms 2.0 发布
    EZNamespaceExtensions.Net v2013增加对上下文菜单、缩略图、图标、属性表的支持
    GNU Guile 2.0.9 发布,Scheme 实现
    jdao 1.0.4 发布 轻量级的orm工具包
    OpenSearchServer 1.4 RC4 发布
    Percona Server for MySQL 5.5.3030.2
    Samba 4.0.5 发布
  • 原文地址:https://www.cnblogs.com/open-yang/p/11165554.html
Copyright © 2011-2022 走看看