前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Web 开发学习笔记(1) --- 搭

Web 开发学习笔记(1) --- 搭

作者头像
py3study
发布2020-01-02 17:20:02
4880
发布2020-01-02 17:20:02
举报
文章被收录于专栏:python3python3

简介

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

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

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

开发环境

Ubuntu 16.04Python 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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 开发环境
  • 第一个 server
  • 编写 IndexHandler
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档