• flask-one


    安装:

    1 pip install Flask
    启动第一个脚本:
    python hello.py   
    访问地址:http://127.0.0.1:5000
    脚本如下:
    1 from flask import Flask
    2 app = Flask(__name__)
    3 
    4 @app.route('/') #路由指定
    5 def hello_world():
    6     return 'Hello worlds summerkxy'
    7 if __name__ == '__main__':  #只有在本例使用的时候才会启动应用,包含该文件的话,不启动应用
    8     app.debug = True #开启调试模式
    9     app.run()
    其中 app.debug = True 开启调试模式,也可以用app.run(debug=True)中加入参数;好处:在修改程序后不用重新启动应用。
    这是最简单的应用。
     1 from flask import Flask
     2 app = Flask(__name__)
     3 
     4 #第一个路由
     5 @app.route('/')
     6 def hello_world():
     7     return 'Hello worlds summerkxy'
     8 
     9 #第二个路由
    10 @app.route('/summerkxy')
    11 def summer():  #函数名随意,不可与自带函数名冲突;
    12     return "Hello summerkxy"
    13 if __name__ == '__main__':
    14     app.debug = True
    15     app.run()

    带有参数的url 

    1 @app.route('/show/<username>')
    2 def show_user(username):
    3     return "show %s" % username

    多参数传递:

    1 @app.route('/show/<username>/<age>')
    2 def show_user(username,age):
    3     return "show "+username+" age:"+age
    参数带有类型:
    @app.route("/age/<int:age>")
    def show_age(age):
        return "show age %d" % age

    转换器有三种:

    int float path
    整型 可整型也可浮点型 普通类型,可带斜线

    url唯一性对比:

    1 @app.route("/about/")
    2 def show_about():
    3     return "about/"
    4 
    5 @app.route("/about")
    6 def show_about1():
    7     return "about"
    事实上只会匹配到第一个url
     
    构造url  url_for()   #未知
     
    根据请求的的方式,调用不同的函数,从而返回不同内容:
     1 from flask import Flask,url_for #url_for暂时没用到
     2 from flask import request
     3 app = Flask(__name__)
     4 
     5 @app.route("/")
     6 def index():
     7     return "index"
     8 
     9 @app.route('/login',methods=['GET','POST']) #首先会根据methods列表中的元素判断,如果没有找到就报错405方法不允许;
    10 def login():
    11     if request.method == 'POST':
    12         return do_the_login()
    13     else:
    14         return show_the_login_form()
    15 def do_the_login():
    16     return "post"
    17 def show_the_login_form():
    18     return "else method"
    19 
    20 if __name__ == '__main__':
    21     app.debug = True
    22     app.run()

    引入静态css,js文件

    1 @app.route("/hello")
    2 def hello():
    3     cssurl = url_for('static', filename='style.css')
    4     return render_template("hello.html",age=cssurl)
    5 .html文件中
    6 <link type="text/css" rel="stylesheet" href="{{ age }}">
    7 <h1>{{ age }}</h1>
    问题:单独一个url返回一个样式,毫无意义,如何传递多个值
    使用list/dist即可
     
    向模版文件中传递参数:
    1 @app.route("/hello")
    2 def hello(name='summerkxy'):
    3     return render_template("hello.html",age=name)#变量名age就是传递到模版文件中的
    4 .html文件
    5 <h1>hello {{ name }}</h1>
  • 相关阅读:
    Circular dependency issuse on cocoapods version(0.36.0) 全然解决方式(非降版本号)
    Android Studio经常使用配置及使用技巧(二)
    poj 2195 Going Home(最小费最大流)
    OpenFace库(Tadas Baltrusaitis)中基于Haar Cascade Classifiers进行人脸检測的測试代码
    Divisibility by Eight
    hdu 5055(坑)
    微服务(Microservices)
    mysql 运行计划explain具体解释
    URAL 题目1297. Palindrome(后缀数组+RMQ求最长回文子串)
    Windows下将nginx安装为服务运行
  • 原文地址:https://www.cnblogs.com/summerkxy/p/7094226.html
Copyright © 2020-2023  润新知