快速入门

1.学习一个新的东西,首先需要先去学会怎么导入他

from flask import Flask

2.hello world

永远永远 要记得hello world

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
  return "hello world!"
if __name__ ==' __main__':
  app.run()

1需要注意的是,你所保存的python文件的名字,不能为flask。血泪教训,不然他就会在你的py文件之下寻找Flask,结果当然是没有。
2 另外还有一个经常用到的东西 if name ==' main':
简单来说,上面那个语句的功能就是来判断是否是在直接运行该.py文件
如果要是直接运行当前python文件,那么它下面的方法就会被调用。而如果要是从别的文件调用这个文件,那么它下面的方法就不会触发。

好了,既然注意事项讲完了,那么,就正式的来了解上面的那个小程序吧
首先第一句自然不用说是导入。
接下来第二行创建了一个实例。注意其中的参数是必须的,它代表应用模块或者包的名称。而本例中只有一个文件,自然就是_ name _。
接下来第三行,第四行,第五行合起来看,稍微了解python的应该知道,第三行调用的是flask自己的一个装饰器,他的作用是告诉我们的app什么样的url才能触发下面的函数。而下面的函数自然不用我说,返回了熟悉的hello world。
下面的run函数则是让我们写的小程序运行在我们的服务器上,欲关闭服务器,按 Ctrl+C。
麻雀虽小 五脏俱全 几行代码便已经初具一个网页的雏形。

3.路由

接下来就稍微对路由系统进行一个简单的入门,并不要想着一开始就完全的掌握这个框架,是不现实的。
路由系统,就像你家的路由器,对你想访问那个网页进行分类和导向。而flask里面的路由系统就是对你访问的url进行分类的一个系统。
flask上面的路由系统主要靠route装饰器来将对应的函数绑定到对应的url上面,
而上面的hello world 已经简单的将route装饰器的用法简单的讲了一下。比如你要专门做一个index的url可以这么写

@app.route('/index')
def index():
  return "index page"

然而,仅仅有这些是不够的,程序员永远是不知满足的,静态的url并不能满足我们的要求,我们可以构造一种动态筛选url的方法。
通过把 URL 的一部分标记为 <variable_name> 就可以在 URL 中添加变量。标记的 部分会作为关键字参数传递给函数。通过使用 <converter:variable_name> ,可以 选择性的加上一个转换器,为变量指定规则。请看下面的例子:

@app.route('/user/<username>')
def show_user_profile(username):
    # show the user profile for that user
    return 'User %s' % username

此时有一个小问题,我们在用路由定位url的时候,url的尾部都没有添加斜杠,不添加斜杠,flask在访问这个url的时候,尾部会加上一个斜杠。而如果访问这个url的时候加上了一个斜杠,就会出现404错误,保证了url的唯一(虽然我也不太懂这块)。
url的构建
在flask中有一个url_for()函数,它用于构建指定函数的url。它将函数名称作为第一个参数。可以接收任意个关键字参数。每一个关键字参数对应url中的变量,未知变量将添加到url中作为查询参数
此时问题就出现了,为什么要使用url_for()函数,将url写死不是更稳定吗

1.反转通常比硬编码 URL 的描述性更好。
2.你可以只在一个地方改变 URL ,而不用到处乱找。
3.URL 创建会为你处理特殊字符的转义和 Unicode 数据,比较直观。
4.生产的路径总是绝对路径,可以避免相对路径产生副作用。
5.如果你的应用是放在 URL 根路径之外的地方(如在 /myapplication 中,不在 / 中), url_for() 会为你妥善处理。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351

推荐阅读更多精彩内容

  • Flask简介 Flask框架是一个基于python的微型的web框架.微,并不是说Flask功能比较弱,微框架的...
    莫辜负自己的一世韶光阅读 402评论 0 0
  • 一、Flask 简介 Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用...
    Exqlnet阅读 1,865评论 0 5
  • Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务。本文...
    乐百川阅读 15,320评论 6 43
  • 本篇我们运用<Web框架如何快速入门>的原理来制作一篇Python-Flask框架的快速入门指南来实战之前的原理,...
    真压力很大同志阅读 2,644评论 0 3
  • 元宝说,他来自元宝星球,有一天,元宝星球毁灭了,只剩下一个空壳,他只好坐着他的飞船“大有一号”来到了地球。然后按照...
    水鸟千斩翼阅读 4,063评论 0 0