Flask开发轻博客(一):欢迎来到 Flask 的世界
2017-09-10 00:00
197 查看
目录
Flask开发轻博客(一):欢迎来到 Flask 的世界Flask开发轻博客(二):Flask 模板
Flask开发轻博客(三):Flask 的 Web 表单
Flask开发轻博客(四):数据库
Flask开发轻博客(五):用户登录
Flask开发轻博客(六):用户首页和发布博客
Flask开发轻博客(七):分页
一、实验说明
1. 环境介绍
本实验环境采用Ubuntu Linux桌面环境,实验中会用到桌面上的程序:命令行终端: Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令
Firefox及Opera:浏览器,可以用在需要前端界面的课程里,只需要打开环境里写的HTML/JS页面即可
gvim:非常好用的Vim编辑器,最简单的用法可以参考课程Vim编辑器
gedit及Brackets:如果您对gvim的使用不熟悉,可以用这两个作为代码编辑器,其中Brackets非常适用于前端代码开发
2. 参考文档
本实验课程参考文档:Flask 中文文档
Flask 大型教程项目
Flask 大型教程项目英文原版
3. 安装 Flask
我们可以使用pip来安装需要的包。
# 更新软件包列表 $ sudo apt-get update # 使用 pip 从阿里云软件源下载 flask 及其扩展 $ pip install -i http://mirrors.aliyuncs.com/pypi/simple flask flask-login flask-openid flask-mail sqlalchemy flask-sqlalchemy sqlalchemy-migrate flask-whooshalchemy flask-wtf pytz flask-babel flup
二、欢迎来到 Flask 的世界
Flask 是一个用于 Python 的微型网络开发框架。基于 WerkzeugWSGI 工具箱和 Jinja2 模板引擎。 Flask也被称为microframework,因为它使用简单的核心,用加载扩展的方式增加其他功能。Flask 没有默认使用的数据库、窗体验证工具。但是,Flask 保留了扩增的弹性,可以用Flask-extension(也就是前面下载提到的flask扩展)加入这些功能:ORM、窗体验证工具、文件上传、开放式身份验证技术。这使得 flask 成为具有高度扩展性和灵活性的 python web 框架。
1.为什么要学习Flask?
快速搭建:正如上面所说,Flask 是一个 web “微”框架,我们使用 Flask 可以快速的搭建我们的网站,在互联网时代,一个好的idea不能尽快的展现在人们的面前,确实是令开发者很苦恼的事情。容易学习: 学完了 Python 基础之后想要接触 web 开发。 Flask 非常易于使用,同时,稍后你能看到示例代码所展示的那样,是一个十分简单的框架。你的大脑很自然地就适应它了,使用 Flask ,可以更快地开发。
非常活跃、生机勃勃的社区:很多人会推荐你从 Flask 入手, Flask 是最好的现代 web 开发的 python 框架之一。
“微”是什么意思?
缺省情况下, Flask 不包含数据库抽象层、表单验证或者其他已有的库可以处理的东西。然而, Flask 通过扩展为你的应用支持这些功能,就如同这些功能是 Flask 原生的一样。有无数的扩展可以支持数据库整合、表单验证、上传处理和各种开放验证等等。Flask 可能是“微小”的,但绝不简单,可以满足各种生产需要。
三、体验 Flask
有一点准备工作要做,既然 Flask 是一个 MVC 的 web 框架,我们就得按照 MVC 的模式来对代码文件分层。1. 首先我们创建一个工作的文件目录
$ mkdir -p micblog/app $ mkdir -p micblog/app/static $ mkdir -p micblog/app/templates
Tips: 我们的应用程序包是放置于 app 文件夹中。子文件夹
static用来存放静态文件例如图片,JS 文件以及样式文件。子文件夹
templates是存放模板文件类的html文件。
2. 接下来我们进入到 app 文件夹中,并创建
__init__.py和
views.py
$ cd micblog/app $ touch __init__.py $ touch views.py
3. 让我们开始为我们的 app 包(文件
app/__init__.py)通过使用命令
vi __init__.py创建一个简单的初始化脚本
#!/usr/bin/env python # -*- coding: utf-8 -*- from flask import Flask app = Flask(__name__) from app import views
上面的脚本简单地创建应用对象,接着从应用app中导入视图模块views文件内容,该模块我们暂未编写。
视图是响应来自网页浏览器的请求的处理器。在 Flask 中,视图是以 Python 函数的形式表示。每一个视图函数是映射到一个或多个请求的 URL。
4. 让我们编写第一个视图函数(文件
app/views.py)
#!/usr/bin/env python # -*- coding: utf-8 -*- from app import app @app.route('/') @app.route('/index') def index(): return "Hello, World!"
其实这个视图是非常简单,它只是返回一个字符串
Hello, World!,并通过映射的方式使得该字符串在客户端的网页浏览器上显示。两个
route装饰器创建了从网址
/以及
/index到这个函数的映射。
能够完整工作的 Web 应用程序的最后一步是创建一个脚本,启动我们的应用程序的开发 Web 服务器。让我们称这个脚本为
run.py,并把它置于
micblog目录下。
5. micblog/run.py
#!/usr/bin/env python # -*- coding: utf-8 -*- from app import app app.run(debug = True, port = 9999)
这个脚本简单地从我们的 app 包中导入 app 变量并且调用它的 run 方法来启动服务器。请记住 app 变量中含有我们在之前创建的 Flask 实例。其中我们开启了
debug模式(用于在线调试代码),并指定了访问端口为
9999(防止默认的
5000被占用,你也可以随意指定其他端口号)。
6.
python run.py将服务器运行起来
在服务器初始化后,它将会监听
9999(默认的是
5000) 端口等待着连接。现在打开你的网页浏览器输入如下 URL:
http://127.0.0.1:9999
另外也可以使用:
http://127.0.0.1:9999/index
你看清楚了路由映射是如何工作的吗?第一个URL映射到
/,而第二个URL映射到
/index。这两个路由都关联到我们的视图函数,因此它们的作用是一样的。如果你输入其它的网址,你将会获得一个错误,因为只有这两个URL 映射到视图函数。你可以通过
Ctrl-C来终止服务器。
7. 最终效果图
当你运行成功后,你能在网页中看到
Hello, World!。
实验效果图
相关文章推荐
- 欢迎来到Flask的世界
- 精通libGDX游戏开发-RPG实战-欢迎来到RPG的世界
- 欢迎来到AI的世界:从树莓派,Arduino 到 HEXA | 了解机器人开发必看
- 欢迎来到我的博客世界!
- 欢迎来到机器人开发的精彩世界(机器人开发入门讲座之一)
- 欢迎来到我的博客哦。呵呵
- 欢迎来到卓卓的博客
- 欢迎来到我的博客,阿里嘎多!
- 欢迎来到我的博客
- 网站后端.Flask.实战-社交博客开发-资料编辑?
- 编写程序,测试字符串“你好,欢迎来到Java世界”的长度,将字符串的长度转换成字符串进行输出,并对其中的“Java”四个字母进行截取,输出截取字母以及它在字符串中的位置。
- [置顶] 欢迎来到路由器的世界!这里是开端+大佬们的lianjie
- Flask开发多博客系统
- Flask博客开发——登录验证码
- 大家好!欢迎来到我的博客!
- 欢迎来到我的博客
- 用flask开发个人博客(24)—— flask中使用Flask_Mail发送电子邮件
- 网站后端.Flask.实战-社交博客开发-邮件确认?
- SQL学习 欢迎来到SQL世界
- 大家好,欢迎来到我的博客,我们一起成长,见证奇迹!