今天在学习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() 会为你妥善处理。

初学Flask(1)的更多相关文章

  1. 在初学Flask中遇到的小问题。

    今天初步认识到了Flask这个轻量级web开发框架.对于初步认识框架的我,暂时的有了一个小小的认识, 因为初学.也没有什么代码可供参开.一下的就是一个小小的例子. # 导包from flask imp ...

  2. Flask+mongodb 实现简易个人博客

    最近学习完了<flask-web开发>,实现了一个简易的个人博客网站,由flask+mongodb+bootstrap做成, 这个软件是在阅读<Flask-Web开发>后写的一 ...

  3. 写给新手看的Flask+uwsgi+Nginx+Ubuntu部署教程

    学习 Flask,写完一个 Flask 应用需要部署的时候,就想着折腾自己的服务器.根据搜索的教程照做,对于原理一知半解,磕磕碰碰,只要运行起来了,谢天谢地然后不再折腾了,到下一次还需要部署时,这样的 ...

  4. 《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(上)

    目录 前言 第1章 安装 第2章 程序的基本结构 第3章 模板 第4章 Web表单 第5章 数据库 第6章 电子邮件 第7章 大型程序的结构   前言 学习Python也有一个半月时间了,学到现在感觉 ...

  5. Flask连接数据库打怪升级之旅

    一.前言 在初学 Flask 的时候,在数据库连接这部分也跟每个初学者一样.但是随着工作中项目接手的多了,代码写的多了,历练的多了也就有了自己的经验和技巧.在对这块儿代码不断的进行升级改造后,整理了在 ...

  6. flask入门与发送邮件与QQ邮箱

    前言: 快两个月没写博客了, 原因是懒了, 没有最初写博客那种看到阅读量上涨, 别人给自己文章点赞后的开心. 心态也发生了不少变化. 有机会再来写写. 前两个月我去厦门某公司实习, 本着去厦门玩一玩还 ...

  7. Flask(2)- 装饰器的坑及解决办法、flask中的路由/实例化配置/对象配置/蓝图/特殊装饰器(中间件、重定义错误页面)

    一.装饰器的坑以及解决方法 1.使用装饰器装饰两个视图函数,代码如下 from flask import Flask, redirect, render_template, request, sess ...

  8. Flask&&人工智能AI --2

    参考博客: https://www.cnblogs.com/xiao987334176/p/9598606.html 昨日作业讲解 昨天的作业就是,有3个视图函数,分别是/login,/student ...

  9. 一个Flask应用运行过程剖析

    相信很多初学Flask的同学(包括我自己),在阅读官方文档或者Flask的学习资料时,对于它的认识是从以下的一段代码开始的: from flask import Flask app = Flask(_ ...

随机推荐

  1. 小白学数据分析----->付费用户生命周期研究

    付费用户其实存在一个付费周期转化的问题,直接指标可能就是付费渗透率的问题,然而在此背后其实还有更深入的问题.我们经常遇到的是推广渠道获得的新用户,且这批用户进入游戏的状态.其实在付费用户问题研究方面, ...

  2. 设置Tomcat编码

    设置Tomcat编码 <Connector         port="8080"         maxThreads="150"         mi ...

  3. Python小游戏之猜数字

    最近师兄师姐毕业,各种酒席,酒席上最常玩的一个游戏就是猜数字,游戏规则如下: 出题人在手机上输入一个0-100之间的数字,其它人轮流猜这个数字,如果你不幸猜中则要罚酒一杯.每次猜数字,出题人都要缩小范 ...

  4. Java int to String互转

    Integer.toString Integer.parseInt(lAyaNums);

  5. android自定义seekBar

    Android原生控件只有横向进度条一种,而且没法变换样式,比如原生rom的样子 很丑是吧,当伟大的产品设计要求更换前背景,甚至纵向,甚至圆弧状的,咋办,比如 ok,我们开始吧: 一)变换前背景 先来 ...

  6. mac OSX 上 brew install hive

    本文介绍brew install hive并修改默认的metastore存储方案,改Derby数据库为mysql的方法以及可能遇到的问题的解决方案. 1. 通过homebrew安装hive 1 bre ...

  7. HL AsySocket 服务开发框架 - 总体思路与架构

    一 背景 最近在园子了浏览了几篇有关Socket文章,得到了一些启发萌生了想要重构公司在2000年用.NET Framework 2.0 与 Visual Studio 2005开发的AsySocke ...

  8. IOS从一个APP跳到另一个APP

    以下为跳转到大众点评APP代码如下: NSString *requestUrlString = @"dianping://shopinfo?id=1000"; NSURL *req ...

  9. C#新开一个线程取到数据,如何更新到主线程UI上面

       一:问题 之前有被面试官问过,在WinForm中,要去网络上获取数据,由于网络环境等原因,不能很快的完成,因此会发生进程阻塞,造成主进程假死的现象,需要怎么解决?    二:思路 因此,往往是新 ...

  10. 简单配置nginx使之支持pathinfo

    只需要修改3个地方就可以了 location ~ \.php {    #去掉$ root          H:/PHPServer/WWW; fastcgi_pass   127.0.0.1:90 ...