Python의 웹 프레임워크를 사용하는 Tornado 중 하나

10635 단어 PythontornadoHTML

개시하다


요즘Tornado 놀고 있기 때문에 사용법을 총괄해야 합니다.
이번에는 기본적으로 공식 탑을 다시 굽는다.다음을 기대하세요.그리고 질문과 요구가 있으면 대답할게요.

운영 환경


나의 실행 환경은 다음과 같지만 파이톤이 일하는 환경은 문제없을 것이다.
  • CentOS release 6.5 (Final)
  • Python 2.6.6
  • 관련 보도

  • Python의 웹 프레임워크를 사용한 Tornado의 2
  • Tornado란?


    Tornado는 파이톤이 쓴 웹 프레임워크/비동기 통신 라이브러리로 다음과 같은 특징을 가지고 있다.
  • FriendFeed에서 개발(현재 페이스북)
  • OpenSource(Apache 2.0)
  • 파이톤2 시스템, 파이톤3 시스템, 파이파이를 통해 동작
  • 단일 프로세스, 단일 레드
  • 단순
  • 간단하기 때문에 고속
  • 심플해서 신축 가능(비슷)
  • 템플릿 엔진 포함
  • 후발이라 좋은 곳 선택
  • 이후 설치에서 Hello, World로 처리됩니다.

    Tornado 설치


    Tornado를 pip로 설치합니다.
    $ pip install tornado
    
    또한 pip를 가져오지 않은 사람은 아래 사이트를 참고하여 가져올 수 있다.
  • 조잡하게 쓰지 마세요.-pip의 사용 방법 (2014/1버전)
  • pip를 사용하고 싶지 않은 경우,tar.gz를 없애고 평소와 같이 setup.py를 사용하세요.
    tar xvzf tornado-3.2.2.tar.gz
    cd tornado-3.2.2
    python setup.py build
    sudo python setup.py install
    

    Hello, world


    설치가 완료되면 나머지는 import에서 적당한 코드를 쓰는 것뿐입니다,listen.
    여기서 가장 간단한 예로 브라우저에'Hello, World'의 문자열을 표시합니다.
    Hello와 World를 표시하려면 적당한 디렉터리에 적당한 이름을 추가하고 다음 코드를 저장하고 실행하십시오.

    소스 코드


    server.py
    #!/bin/env python
    # -*- coding: utf-8 -*-
    import tornado.ioloop
    import tornado.web
    
    class MainHandler(tornado.web.RequestHandler):
        def get(self):
            self.write("Hello, world")
    
    application = tornado.web.Application([
        (r"/", MainHandler),
    ])
    
    if __name__ == "__main__":
        application.listen(8888)
        tornado.ioloop.IOLoop.instance().start()
    

    부팅


    python 스크립트만 주는 거예요.
    $ python server.py
    
    터미널에 아무것도 표시되지 않았습니다. 이 상태에서 브라우저를 통해 접근하면 'Hello, World' 가 표시됩니다.

    훑어보다



    좀 더 놀다


    문자열만 표시하면 재미없으니 적어도 파일을 돌려줘야 한다.
    스타일시트와 HTML 파일, 서버를 준비합니다.py를 다음과 같은 내용으로 고칩니다.
    여기까지의 지식을 활용하면 마음대로 수식할 수 있는 정적 웹 페이지를 만들 수 있는 원고의 웹 사이트를 구축할 수 있을 것이다.

    디렉토리 구조


    디렉토리의 스타일입니다.css를templates 디렉터리에 입력하십시오.내가 준비할게.
    $ tree --charset=x
    .
    |-- server.py
    |-- static
    |   `-- style.css
    `-- templates
        `-- index.html
    

    소스 코드


    server.py의 주요 변경점은 다음과 같다.
  • import
  • 경로를 처리하기 위해'os'
  • 가져오기
  • render 방법으로 write 방법을 대체
  • templates와static 디렉터리 추가
  • 어렵기 때문에 표준 출력에서 서버가 시작되었음을 표시합니다
  • server.py
    #!/bin/env python
    # -*- coding: utf-8 -*-
    from __future__ import print_function
    import os
    import tornado.ioloop
    import tornado.web
    
    class MainHandler(tornado.web.RequestHandler):
        def get(self):
            self.render("index.html")
    
    application = tornado.web.Application([
        (r"/", MainHandler)
        ],
        template_path=os.path.join(os.getcwd(),  "templates"),
        static_path=os.path.join(os.getcwd(),  "static"),
    )
    
    if __name__ == "__main__":
        application.listen(8888)
        print("Server is up ...")
        tornado.ioloop.IOLoop.instance().start()
    
    
    style.css
    body {
      font-family:'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', "MS Pゴシック", sans-serif;
      width: 80%;
      margin: 0 auto;
    }
    p {
      color:#BEAF71;
      font-size:200%;
    }
    
    index.html
    <!DOCTYPE html>
    <html>
      <head>
        <title>Hello, world</title>
        <link rel="stylesheet" href="{{ static_url("style.css") }}"/>
      </head>
      <body>
        <div id="container">
          <div id="main">
            <p>Hello, world</p>
          </div>
        </div>
      </body>
    </html>
    

    부팅

    $ python server.py
    print("Server is up ...")
    

    훑어보다


    HTML 답장 확실히 알았어.

    좋은 웹페이지 즐겨찾기