资讯专栏INFORMATION COLUMN

Web 开发学习笔记(1) --- 搭建你的第一个 Web Server

calx / 2711人阅读

摘要:简介是一个轻量级的框架如果要学习开发非常适合作为我们学习的起点通过接下来的这一些列的博客我们将学习如何利用以及其他工具搭建一个简单的网站开发环境命令如下第一个首先我们创建一个文件夹并在其中新建一个文件接着我们打开按照的示例

简介

Flask 是一个轻量级的 Web 框架, 如果要学习 Web 开发, Flask 非常适合作为我们学习的起点.

通过接下来的这一些列的博客, 我们将学习如何利用 Flask 以及其他工具, 搭建一个简单的网站.

We"ll build a web application from scratch. Have fun :)


开发环境

Ubuntu 16.04

Python 3.5

Flask 1.0.2

命令如下


sudo apt-get upgrade
sudo apt-get install python3-setuptools
sudo apt-get install python3-dev
sudo apt-get install python3-pip
sudo pip3 install pip --upgrade
sudo pip3 install flask


第一个 server

首先我们创建一个文件夹 webapp, 并在其中新建一个 server.py 文件


mkdir ~/webapp
cd ~/webapp
touch server.py

接着, 我们打开 server.py, 按照 Flask Quickstart 的示例, 开始编写第一个 server


from flask import Flask
app = Flask(__name__)

@app.route("/", methods=["GET"])
# methods 默认是 GET 因此可以简写为如下形式
# @app.route("/")
def hello():
    return "Hello"

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8080, debug=True)

保存文件后, 在 Terminal 中输入如下命令, 即可运行 webapp. 我们在浏览器中输入 http://server_ip:8080 即可访问网站, 页面的内容就是 Hello


python3 server.py


编写 IndexHandler

在上一节中, 我们使用了 @ decorator 来指定某个路由对应的处理函数, 这样的写法非常方便. 同时, 我们也可以编写我们自己的 Handler 来处理各个不同的页面(路径). 比如, 对于首页 Index, 即 http://server_ip:8080/, 我们可以编写一个 class IndexHandler, 注意这是一个 MethodView 的子类, 也就是说这是一个 View Handler


from flask import Flask
from flask.views import MethodView
app = Flask(__name__)

class IndexHandler(MethodView):
    def __init__(self, name):
        print(name)

    def get(self):
        return "It is a GET request"

    def post(self):
        return "It is a POST request"

if __name__ == "__main__":
    app.add_url_rule("/", view_func=IndexHandler.as_view("index"))
    app.run(port=8080, host="0.0.0.0", debug=True)

根据 flask docs, 传给 as_view() 的参数 name 会转发给构造函数, 我们暂时用不到这个参数 name , 但是为了保持命名的一致性, 我们将其设置为 index


保存文件后, 在 Terminal 中输入如下命令, 即可运行 webapp. 我们在浏览器中输入 http://server_ip:8080 即可访问网站, 页面的内容是 It is a GET request


python3 server.py


参考资料

quickstart, flask docs

as_view, flask docs

flask/flask/views.py

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43185.html

相关文章

  • 前端相关大杂烩

    摘要:希望帮助更多的前端爱好者学习。前端开发者指南作者科迪林黎,由前端大师倾情赞助。翻译最佳实践译者张捷沪江前端开发工程师当你问起有关与时,老司机们首先就会告诉你其实是个没有网络请求功能的库。 前端基础面试题(JS部分) 前端基础面试题(JS部分) 学习 React.js 比你想象的要简单 原文地址:Learning React.js is easier than you think 原文作...

    fuyi501 评论0 收藏0
  • 26天学通前端开发(配资料)

    摘要:网上有很多前端的学习路径文章,大多是知识点罗列为主或是资料的汇总,数据量让新人望而却步。天了解一个前端框架。也可以关注微信公众号晓舟报告,发送获取资料,就能收到下载密码,网盘地址在最下方,获取教程和案例的资料。 前言 好的学习方法可以事半功倍,好的学习路径可以指明前进方向。这篇文章不仅要写学习路径,还要写学习方法,还要发资料,干货满满,准备接招。 网上有很多前端的学习路径文章,大多是知...

    blair 评论0 收藏0
  • 的第一本 gitbook: Flask Web 开发笔记

    摘要:月份发布了第版,收到不少网友的良好建议,所以又抽空进行了完善,当然也拖了不少时间。本书主要介绍的基本使用,这也是我一开始在学习过程中经常用到的。第章实战,介绍了如何开发一个简单的应用。声明本书由编写,采用协议发布。 showImg(https://segmentfault.com/img/remote/1460000007484050?w=200&h=152); 书籍地址 head-f...

    KevinYan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<