博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web 开发学习笔记(1) --- 搭建你的第一个 Web Server
阅读量:6326 次
发布时间:2019-06-22

本文共 1716 字,大约阅读时间需要 5 分钟。

简介

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 upgradesudo apt-get install python3-setuptoolssudo apt-get install python3-devsudo apt-get install python3-pipsudo pip3 install pip --upgradesudo pip3 install flask

第一个 server

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

    mkdir ~/webappcd ~/webapptouch server.py
  • 接着, 我们打开 server.py, 按照 的示例, 开始编写第一个 server

    from flask import Flaskapp = 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 Flaskfrom flask.views import MethodViewapp = 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)

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

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

    python3 server.py

参考资料

转载地址:http://tpmaa.baihongyu.com/

你可能感兴趣的文章
XP系统开机提示"NTLDR is missing" 的解决方法
查看>>
【C#小知识】C#中一些易混淆概念总结(五)---------深入解析C#继承
查看>>
JavaScript琐记
查看>>
MAK代理激活的使用方法和注意事项
查看>>
sed用法
查看>>
针对web高并发量的处理
查看>>
Vbs脚本编程简明教程之三
查看>>
IT服务管理的指挥与智慧
查看>>
每天一个知识点linux(十一)任务计划
查看>>
ACL与磁盘配额结合应用小结
查看>>
基于LinuxOPENldap实验之账户管理
查看>>
交换机上配置PVST
查看>>
多程序集版本冲突问题
查看>>
MariaDB九之基于mysql-porxy实现读写分离
查看>>
OC异常处理
查看>>
【android工程转为lib工程后提示'R.id.xxx不能作为case语句的表达式'的解决办法】...
查看>>
网御神州IDS产品安装手册
查看>>
获取计算机广域网IP的一个例子
查看>>
总结之:CentOS 6.5 HTTPD服务的全面解读及配置详解(2)
查看>>
7834:分成互质组
查看>>