프레임워크가 필요 없는 파이썬 웹사이트 1부

6915 단어 pythonwebdev
프레임워크 없이 파이썬을 사용하여 웹사이트를 구축하려는 이유는 다음과 같습니다.
  • 이 플라스크 , django가 어떻게 작동하는지 이해하고 싶습니다.
  • 미래에 자신의 프레임워크를 구축하고 싶습니다
  • 당신은 처음부터 물건을 만드는 것을 좋아합니다

  • 몇 가지 기본 기능만 원한다면 프레임워크 없이 간단한 파이썬 웹사이트를 작성하는 것은 쉽습니다.
    그러나 라우팅, 데이터베이스 연결, 양식 유효성 검사 및 고유한 템플릿 엔진 추가와 같은 고급 기능을 원하면 상황이 조금씩 어려워질 것입니다.

    요구 사항



    요구 사항 또는 이 작업을 시작하기 전에 알아야 할 사항

  • http 프로토콜에 대한 기본 지식, http 작동 방식에 대해 자세히 알아보려면 다음 리소스를 참조하세요.

    MDN Basics of HTTP

    W3School HTTP Request Methods

  • WSGI가 무엇입니까? , 알고 싶은 경우 몇 가지 리소스:
    An Introduction to the Python Web Server Gateway Interface

    What is WSGI
  • gunicorn , gevent
  • 같은 것을 사용하여 파이썬 웹 앱을 제공하는 방법

    간단한 Hello World



    안녕하세요 웹 파이썬 애플리케이션의 간단한 예입니다.

    def app(environ, start_fn):
        start_fn('200 OK', [('Content-Type', 'text/plain')])
        return ["Hello World!\n"]
    


    그러나 이것을 실행하는 방법? , 먼저 gunicorn 또는 gevent 또는 이와 유사한 것을 설치해야 합니다. 저는 gunicorn이 Windows에서 작동하지 않기 때문에 gevent를 선택합니다.

    겐벤트 설치




    pip install gevent
    


    앱 실행



    앱을 제공하려면 gevent wsgi 클래스를 가져와야 합니다.

    ....
    
    if __name__ == '__main__':
        from gevent.pywsgi import WSGIServer
        WSGIServer(('', 8000),app, spawn=None).serve_forever()
    


    우리가 사용하는 이유를 알고 싶습니다

    if __name__ == '__main__':
    


    확인stackoverflow answer by Jack

    이제 코드가 다음과 같이 보일 것입니다.

    def app(environ, start_response):
            data = b"Hello, Web!\n"
            start_response("200 OK", [
                ("Content-Type", "text/plain"),
                ("Content-Length", str(len(data)))
            ])
            return iter([data])
    
    
    if __name__ == '__main__':
        from gevent.pywsgi import WSGIServer
        WSGIServer(('', 8000),app, spawn=None).serve_forever()
    


    이제 터미널로 이동하여 실행할 수 있습니다.

    python app.py
    


    확인localhost:8000하면 즐겨찾는 웹 브라우저에 Hello 웹 메시지가 표시됩니다.

    다음 부분에서는 html 파일을 렌더링하고, 여러 페이지를 만들고, 페이지 사이를 탐색하는 코드를 작성합니다.

    추가 탐색을 위해



    How to write a Python web framework

    Python Web Applications: The basics of WSGI

    How to use Flask with gevent (uWSGI and Gunicorn editions)

    The u wsgi project

    Simple Python Framework from Scratch

    소셜 바닥글



    Toumi abderrahmane 지음. github

    좋은 웹페이지 즐겨찾기