zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    nmon系统监控
    Spring框架DataSource
    Spring框架的AOP
    jdk -version could not open jvm.cfg 的解决办法
    Spring框架annotation实现IOC介绍
    Junit4 单元测试框架的常用方法介绍
    页面静态化3 --- 使用PHP页面缓存机制来完成页面静态化(下)操作一个案例(新闻管理系统)
    页面静态化2 --- 使用PHP缓存机制来完成页面静态化(上)(ob_flush和flush函数区别用法)
    页面静态化1 --- 概念(Apache内置压力测试工具使用方法)
    memcached学习笔记6--浅谈memcached的机制 以及 memcached细节讨论
  • 原文地址:https://www.cnblogs.com/summerkxy/p/7094226.html
Copyright © 2011-2022 走看看