今天在学习Flask,边看官方文档一边动手运行例子,以注释的形式写了一些笔记,分享给大家。

Flask官方文档,快速入门:

ex1:

#coding:utf-8
#######################
# 1.URL的解析
###################### from flask import Flask
app = Flask(__name__) @app.route('/a')
#这里是用于测试笔记2的
def a():
return 'test a' @app.route('/user/<username>')
def show_user_profile(username):
# show the user profile(简介) for that user
# 可以接收url传递的变量
return 'User %s' % username @app.route('/post/<int:post_id>')
def show_post(post_id):
# show the post with the given id, the id is an integer
# 在地址后面加/post/211654,页面显示Post 211654
return 'Post %d' % post_id @app.route('/hello') #修饰url
def hello_world():
return 'Test debug' @app.route('/')
def index():
return 'Index Page' if __name__ == '__main__':
app.debug = True # 作用是修改完文件,服务器自动重启
app.run(host = '0.0.0.0') # 笔记:
# 1.route(线路)——传入线路(url)触发route下面的方法
# 2.注意区别
# route('/a/')和route('/a') 系统不管是'/a/'还是'/a'
# 都会为其自动增加'/','/a/'正常运行,'/a'报错!
#

ex2:

#coding:utf-8
#######################
# 2.URL的构建
###################### # url_for()函数是用来构建指定函数的URL
from flask import Flask, url_for
app = Flask(__name__) @app.route('/')
def index():
pass @app.route('/login')
def login():
pass @app.route('/user/<username>')
def profile(username):
pass # 告诉 Flask 我们正在处理一个请求,而实际上也许我们
# 正处在交互 Python shell 之中,并没有真正的请求(后面再说)
with app.test_request_context():
print url_for('index')
print url_for('login')
print url_for('login', next='/')
print url_for('profile', username='Xue Wei Han') #为什么不在把 URL 写死在模板中,反而要动态构建?有三个很好的理由: # 1.反向解析通常比硬编码 URL 更直观。同时,更重要的是你可以只在一个地方改变 URL ,而不用到处乱找。
# 2.URL 创建会为你处理特殊字符的转义和 Unicode 数据,不用你操心。
# 3.如果你的应用是放在 URL 根路径之外的地方(如在 /myapplication 中,不在 / 中)
# url_for() 会为你妥善处理。

最新文章

  1. SAM4E单片机之旅——15、触屏输入与SPI通信
  2. android:layout_gravity和android:gravity的区别
  3. 使用git命令提交远程github仓库的时候提示&quot;rejected&quot;(拒绝)解决办法
  4. Jquery 操作页面中iframe自动跟随窗口大小变化,而页面不出现滚动条,只在iframe内部出滚动条
  5. 遍历并remove HashMap中的元素时,遇到ConcurrentModificationException
  6. NET Core驱动已出,支持EF Core
  7. ASP.NET 导入excel 数据
  8. 联想K82------智能电视行业的野蛮入侵者
  9. 软件开发V型号
  10. HTML/CSS/Javascript调试入门(转)
  11. SimpleDateFormat的线程安全问题与解决方案
  12. BZOJ 2844: albus就是要第一个出场 [高斯消元XOR 线性基]
  13. sql base and plsql and database
  14. 自制EF(iShare Demo版)
  15. php json_encode转换中文乱码
  16. C#中的BeginInvoke和EndEndInvoke 异步问题
  17. 练习题|网络编程-socket开发
  18. Android -- onMeasure
  19. chrome扩展写法
  20. electron主进程引入自定义模块

热门文章

  1. spring(3) JDBC
  2. Python 之range 和 xrange
  3. Scala 深入浅出实战经典 第64讲:Scala中隐式对象代码实战详解
  4. ASP.NET MVC中的模型装配 封装方法 非常好用
  5. openssl - rsa加解密例程
  6. distri.lua的web运维工具
  7. SecureCrt设置字符编码
  8. android 开发 - 对图片进行虚化(毛玻璃效果,模糊)
  9. CodeBlocks16.01+wxWidgets3.0.2
  10. JS - IE or not:判断是否为IE浏览器方法