最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python tornado如何启动和配置?

    正文概述    2020-06-03   212

    之前简单的讲过了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启动和配置的方法。更多Python学习推荐:起源地模板网教学中心



    起源地下载网 » python tornado如何启动和配置?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元