flask框架--urls和视图

1.第一个flask程序

#encoding: utf-8

#从flask这个框架中导入Flask这个类
from flask import Flask

#初始化一个Flask对象
#Flask()
# 需要传递一个参数__name__
# 1. 方便flask框架去寻找资源
# 2. 方便flask插件比如Flask-Sqlalchemy出现错误的时候,好去寻找问题所在的位置
app = Flask(__name__)

# @app.route是一个装饰器
# @开头,并且在函数的上面,说明是装饰器
# 这个装饰器的作用,是做一个url与视图函数的映射
# 127.0.0.1:5000/ -> 去请求hello_world这个函数,然后将结果返回给浏览器
@app.route('/')
def hello_world():
    return '我是第一个Flask程序!'

# 如果当前这个文件是作为入口程序运行,那么就执行app.run()
if __name__ == '__main__':
    app.run()
# app.run()
# 启动一个应用服务器,来接受用户的请求
# while True:
# listen()

2.设置debug模式

#encoding: utf-8

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return '你好,我是LX'

if __name__ == '__main__':
    app.run(debug=True)

# 在app.run()中传入一个关键字参数debug, app.run(debug=True),就设置当前项目为debug模式。
# debug模式的两大功能:
# 1.当程序出现问题的时候,可以在页面中看到错误信息和出错的位置。
# 2.只要修改了项目中的python文件,程序会自动加载,不需要手动重新启动服务器。

3.使用配置文件

新建一个config.py文件
在主app文件中导入这个文件,并且配置到app中,示例代码如下:

#encoding: utf-8

from flask import Flask
import config
app = Flask(__name__)
app.config.from_object(config)

@app.route('/')
def hello_world():
    return '你好,我是LX'

if __name__ == '__main__':
    app.run(debug=True)
  • 还有许多的其他参数,都是放在这个配置文件中,比如SECRET_KEYSQLALCHEMY这些配置,都是在这个文件中。

4.URL传参

  • 参数的作用:
    可以在相同的URL,但是指定不同的参数,来加载不同的数据。
  • 在flask中如何使用参数:
@app.route('/article/<id>')
def article(id):
    return u'您请求的参数是:%s' % id
  • id 参数需要放在两个尖括号中。
  • 视图函数中需要放和url中的参数同名的参数。

5.反转URL

#encoding: utf-8

from flask import Flask,url_for
app = Flask(__name__)

@app.route('/')
def index():
    print url_for('my_list')
    print url_for('article',id='abc')
    return 'hello,world!'

@app.route('/list/')
def my_list():
    return 'list'

@app.route('/article/<id>')
def article(id):
    return u'您请求的参数是:%s' % id

if __name__ == '__main__':
    app.run(debug=True)

在这里插入图片描述

发布了33 篇原创文章 · 获赞 0 · 访问量 925

猜你喜欢

转载自blog.csdn.net/nickyff/article/details/104776648