python主流web框架介绍与flask-hello worid

大兔子大兔子 提交于 2020-02-16 00:10:47
  1. 学web之前,有必要了解一些web的相关知识:http协议(超文本传输协议),html,css,js 和服务器。嗯,我相信你的自学能力

flask的中文文档(其实我觉得还是读文档好一点,哈哈哈哈):https://dormousehole.readthedocs.io/en/latest/quickstart.html#id6

我先介绍一下主流的python web框架吧

  1. django:含了web开发中常用的功能、组件的框架;(ORM、Session、Form、Admin、分页、中间件、信号、缓存、ContenType…
    一个全能型框架。目前 Django 的使用面还是很广的,有学习的价值,但是我不建议初学者学习,因为要学习的东西太多了,一下子难以吸收会失去兴趣。当然,Django 的目的是为了让开发者能够 快速 地开发一个网站,它提供了很多模块,当然你想学我不拦着你,我也拦不着你,emmm。中文文档(https://docs.djangoproject.com/zh-hans/3.0/)

  2. Tornado:大特性就是异步非阻塞、原生支持WebSocket协议;Tornado。传说中性能高高的框架。Tornado 是一个很好的框架,支持异步处理的功能,这是它的特点,其他框架不支持。另外一点是,Tornado 的设计似乎更注重 RESTful URL。但 Tornado 提供了网站基本需要使用的模块外,剩下的则需要开发者自己进行扩展。比如:数据库操作,虽然内置了一个 database 的模块(后来独立出去了,现在叫做 torndb,bdarnell/torndb · GitHub)但是不支持 ORM,快速开发起来还是挺吃力的。如果需要 ORM 支持的话,还需要自己写一层将 SQLAlchemy 和 Tornado 联系起来,而且这里还有一个坑。
    BTW:知乎就是基础 Tornado 开发的。

  3. flask:Flask:功能和性能虽然不及Django和Tornado,但是Flask的第三方开源组件比丰富,自己想要什么就搞拓展,蛮方便的,也可以自己写。

  4. weppy:我个人感觉这个框架和flask有点像我刚刚看了一下他官网上面的例子(https://weppy.org/):

from weppy import App
app = App(__name__)

@app.route("/")
def hello():
    return "Hello world!"

if __name__ == "__main__":
    app.run()

上面的是weppy框架的,下面看看flask的:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

上面代码的意思是:1.导入了 Flask 类。 该类的实例将会成为我们的 WSGI 应用(Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口)
2.接着创建一个该类的实例。第一个参数是应用模块或者包的名称。如果你使用 一个单一模块(就像本例),那么应当使用 name ,因为名称会根据这个 模块是按应用方式使用还是作为一个模块导入而发生变化(可能是 ‘main’ , 也可能是实际导入的名称)。这个参数是必需的,这样 Flask 才能知道在哪里可以 找到模板和静态文件等东西。

然后我们使用 route() 装饰器来告诉 Flask 触发函数的 URL 。

函数名称被用于生成相关联的 URL 。函数最后返回需要在用户浏览器中显示的信息。
安装的话:pip insetall flask 就可以啦,嗯,大家感兴趣的可以跑一下,学编程最重要的是实操,光看懂那只是一部分而已,书上得来终归浅,没准你有意味的惊喜呢

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!