python tornado怎样启动和配置

发布时间:2020-11-10 09:38:20 作者:小新
来源:亿速云 阅读:176

这篇文章主要介绍python tornado怎样启动和配置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

如果小伙伴一直关注这个系列,那么第一步应该对你来说习以为常。

$ mkdir tornado_todo
$ cd tornado_todo
$ pipenv install --python 3.6
$ pipenv shell
(tornado-someHash) $ pipenv install tornado

创建一个 setup.py 文件来安装我们的应用程序相关的东西:

(tornado-someHash) $ touch setup.py
# setup.py
from setuptools import setup, find_packages
 
requires = [
    'tornado',
    'tornado-sqlalchemy',
    'psycopg2',
]
 
setup(
    name='tornado_todo',
    version='0.0',
    description='A To-Do List built with Tornado',
    author='<Your name>',
    author_email='<Your email>',
    keywords='web tornado',
    packages=find_packages(),
    install_requires=requires,
    entry_points={
        'console_scripts': [
            'serve_app = todo:main',
        ],
    },
)

因为 Tornado 不需要任何外部配置,所以我们可以直接编写 Python 代码来让程序运行。让我们创建 todo 目录,并用需要的前几个文件填充它。

todo/
    __init__.py
    models.py
views.py

 就像 Flask 和 Pyramid 一样,Tornado 也有一些基本配置,放在 __init__.py 中。从 tornado.web 中,我们将导入 Application 对象,它将处理路由和视图的连接,包括数据库(当我们谈到那里时再说)以及运行 Tornado 应用程序所需的其它额外设置。

# __init__.py
from tornado.web import Application
 
def main():
    """Construct and serve the tornado application."""
app = Application()

像 Flask 一样,Tornado 主要是一个 DIY 框架。当构建我们的 app 时,我们必须设置该应用实例。因为 Tornado 用它自己的 HTTP 服务器来提供该应用,我们必须设置如何提供该应用。首先,在 tornado.options.define 中定义要监听的端口。然后我们实例化 Tornado 的 HTTPServer,将该 Application 对象的实例作为参数传递给它。

# __init__.py
from tornado.httpserver import HTTPServer
from tornado.options import define, options
from tornado.web import Application
 
define('port', default=8888, help='port to listen on')
 
def main():
    """Construct and serve the tornado application."""
    app = Application()
    http_server = HTTPServer(app)
http_server.listen(options.port)

当我们使用 define 函数时,我们最终会在 options 对象上创建属性。第一个参数位置的任何内容都将是属性的名称,分配给 default 关键字参数的内容将是该属性的值。

例如,如果我们将属性命名为 potato 而不是 port,我们可以通过 options.potato 访问它的值。

在 HTTPServer 上调用 listen 并不会启动服务器。我们必须再做一步,找一个可以监听请求并返回响应的工作应用程序,我们需要一个输入输出循环。幸运的是,Tornado tornado.ioloop.IOLoop 的形式提供了开箱即用的功能。

# __init__.py
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from tornado.options import define, options
from tornado.web import Application
 
define('port', default=8888, help='port to listen on')
 
def main():
    """Construct and serve the tornado application."""
    app = Application()
    http_server = HTTPServer(app)
    http_server.listen(options.port)
    print('Listening on http://localhost:%i' % options.port)
IOLoop.current().start()

我喜欢某种形式的 print 语句,来告诉我什么时候应用程序正在提供服务,这是我的习惯。如果你愿意,可以不使用 print。

我们以IOLoop.current().start() 开始我们的 I/O 循环。让我们进一步讨论输入,输出和异步性。

以上是python tornado怎样启动和配置的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. python Tornado框架 入门:一
  2. Python Tornado

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python tornado

上一篇:什么是Django和Flask

下一篇:python django框架的特点是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》