플라스크 REST API: 프로젝트 기반

이 문장의 작업 원리

  • 이 글은 일련의 글의 일부입니다. 이 글은 제가 Python과 Flask를 사용하여 RESTAPI를 만드는 방법을 분석했습니다.
  • 모든 문장은 독자가 이 시리즈 이전의 모든 문장을 읽고 이해했다고 가정한다.
  • 나는 길에서 한 모든 선택을 설명해 보려고 한다.만약 내가 무엇을 빠뜨렸다고 생각한다면 아래의 평론에서 언급해 주십시오.
  • 각 절은 왜 특정한 기술을 어떻게 사용하는지 설명한다.익숙한 부분을 마음대로 뛰어넘으세요.
  • 이 시리즈에 생성된 소스 코드는 GitHub에서 찾을 수 있습니다.
  • dbanty 회사 / python rest


    기본 플라스크 REST API의 예 항목 표시


    안녕하세요.내가 이 환매 협의를 만든 것은 플라스크를 추적하기 위해서였지만, 나는 아직 완성하지 않았고, 영원히 완성하지 못할 것이다.실제로 Python RESTAPI를 만드는 진정한 아름다움을 얻기 위해 당신도 이렇게 하는 것을 건의합니다.
    View on GitHub

    이 댓글에.


    이 글의 마지막으로, 당신은 내가Python 프로젝트의 기본 지식을 어떻게 설정하는지, 그리고 내가 기본 기술과 기교에 대한 논증을 읽을 수 있을 것이다.이 글에서 테스트를 위한 기본적인 런닝Flask 프로그램을 제공하고 싶었지만 휴가를 보내고 있습니다. 시간이 많지 않기 때문에 다음 글에서 소개할 것입니다.다음은 제가 소개할 내용입니다.
  • 휴식
  • Python
  • pyenv
  • PyCharm
  • 프로젝트 구조
  • 플라스크
  • 쉬다


    웹 API를 만드는 데는 여러 가지 기술이 있다.나는 모든 이해득실을 포괄하려고 하지 않을 것이다. 너는 책 전체를 비교하고 비교할 수 있다.API를 만들 때 REST를 사용하는 이유는 다음과 같습니다.
  • 이것은 하나의 개념이지 기술이 아니기 때문에 기본적으로 모든 프로그래밍 언어로 RESTAPI를 사용하고 생성할 수 있다.
  • 매우 성숙하다는 것은 좋은 도구가 많이 사용된다는 것을 의미한다
  • 구렁이


    Python을 사용하거나 사용하지 않는 데는 여러 가지 이유가 있습니다.그것들은 인터넷에서 찾을 수 있는데, 내가 여기에 있는 것보다 훨씬 상세하다.모든 설계 결정에 대한 나의 약속을 지키기 위해 내가 좋아하는 몇 가지 측면을 열거했다.
  • 해석에 의하면 매우 유연하고 플랫폼을 뛰어넘으며 디버깅하기 쉽다
  • 성숙한 웹 프레임워크 생태계가 있다
  • 거의 모든 물건에 소포가 많다
  • 데이터 과학자들에게 인기가 많아서 API를 사용하고 싶은 사람들에게 도움이 될 수 있습니다.
  • 저는 그것에 대해 매우 만족합니다. 왜냐하면 저는 업무 중에 그것을 사용하기 때문입니다
  • 회사 명


    대부분의 엄숙한 파이썬 개발자들은 한 번에 그들의 개발 기계에서 여러 버전의 파이썬을 관리해야 할 것이다.만약 네가 시를 사용하고 있다면, 너는 이 점을 하기 위해 약간의 도구가 필요하다.나는 macOS를 사용하는데, 이 운영체제에서 이 점을 실현하는 가장 좋은 방법은pyenv라는 도구를 사용하는 것이다.간단한 시작 방법:
  • 자체 제작 소프트웨어 설치: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • pyenv 설치: brew install pyenv
  • 패드 사용: echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
  • 셸 재부팅
  • 설치에 필요한 Python 버전pyenv install 3.7.3
  • 피찰


    이것은 또 다른 분열과 주관적인 화제: 편집이다.저는 JetBrains의 PyCharm을 사용합니다.내가 처음으로 Python을 쓰기 시작했을 때, 나는 많은 다른 편집기를 시도했는데, 이것은 내가 가장 좋아하는 것이다.그것은 많은 기능이 있는데, 그 중 일부는 내가 잠시 후에 당신에게 보여 드리겠습니다.만약 당신이 해보고 싶다면, there is a free version, 그렇지 않으면 내가 언급한 PyCharm의 특정한 부분을 건너뛰거나 당신이 선택한 편집기에서 같은 효과를 찾을 수 있습니다.

    프로젝트 구조


    이것은 내가 토론한 것이 많지 않다고 생각하는 화제, 프로젝트 구조!대부분의 Python 강좌는 단지 한 무더기의 코드를 폴더에 넣고 실행할 뿐이다.이것은 사람들이 가능한 한 빨리 사용할 수 있는 코드를 작성하도록 하는 데 매우 유용하지만, 이것은 지속가능하지 않다.나는 나의 모든 파이썬 프로젝트를 내가 말한 패키지 구조에 구축했다. 그들의 용도가 어떻든지 간에.보아하니 약간 이렇다.
    python-rest
    |-- README.md
    |-- pyproject.toml
    |-- python_rest
    |   `-- __init__.py
    `-- tests
        `-- conftest.py
    
    여기의'가방 이름'은'python rest'입니다.응용 프로그램의 모든 논리 (실행 중인 실제 코드) 는 모듈 "python\urest"에 있습니다.프로젝트 메타데이터는 패키지의 루트 디렉터리에 있습니다.테스트가 테스트 디렉터리에 들어갑니다.패키지 이름은 일반적으로 하이픈으로 구분되고 모듈 이름은 snake\u 대소문자로 구분됩니다.모든 사람이 이 관례를 따르는 것은 아니지만, 이것은 매우 흔하기 때문에 나는 그것을 선택했다.다음은 모든 프로젝트의 패키지 구조 사용에 대한 몇 가지 장점입니다.
  • 업무 논리와 기타 모든 것을 분리한다
  • 프로젝트를 발표/배치 (예: wheel) 에 사용할 수 있는 묶음 형식으로 쉽게 구축할 수 있습니다.
  • 모든 컨텐트가 적절한 패키지에 있으므로 항상 상대 가져오기와 적절한 이름 간격을 사용할 수 있습니다(일치하지 않으면 항상 이러한 컨텐트를 둘러싸고 문제가 발생함).
  • 시 1


    Poetry를 사용하는 모든 이유는 파이썬 패키지 관리에 관한 일련의 글에 포함되어 있습니다. 아직 없으면 보십시오.


    시부터:
  • 설치: curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python
  • 셸 재부팅
  • 프로젝트 디렉토리로 이동
  • 자신 만들기pyproject.toml: poetry init
  • 몇 가지 질문을 받을 수 있습니다. 기입하기만 하면 됩니다
  • 올바른 Python 버전을 사용하도록 pyenv 설정: pyenv local 3.7.3
  • 프로젝트 디렉토리에 가상 환경을 배치하도록 Poetry 구성: poetry config settings.virtualenvs.in-project true
  • 가상 환경 만들기: poetry install
  • PyCharm에게 이 가상 환경을 사용하라고 알려 줍니다.
  • 기본 설정 열기
  • 프로젝트 > 프로젝트 통역사
  • 로 이동
  • 오른쪽 위 모서리의 작은 기어를 클릭하고 추가
  • 가상 환경 선택 > 기존 환경
  • 일반적으로 자동으로 선택됩니다.venv 폴더.만약 없다면, 너는 반드시 훑어보아야 한다.venv/bin/python
  • 완성!가상 환경을 설정하고 의존 항목을 추가할 준비가 되어 있습니다.

    병.


    Flask는 가장 유행하는 Python 웹 프레임워크 중의 하나입니다.그것의 디자인 이념은 당신이 원하는 모든 기능을 추가하기 위해 상대적으로 작은 핵심과 커다란 확장 라이브러리를 가지고 있다는 것이다.이것은 가장 쉽게 시작할 수 있는 일은 아니지만, 그것은 매우 강하다.
  • 프로젝트에 플라스크 추가: poetry add flask
  • Poetry가 가상 환경에 설치되어 의존 항목으로 추가됨 pyproject.toml 파일과 poetry.lock 파일에 사용된 라이브러리의 특정 버전과 해시를 알 수 있습니다.

    Sorry this post doesn't get you anything you can run yet. As I said at the beginning, I ran out of time. I'll try to get the next post up faster so you can see how Flask actually works!

    좋은 웹페이지 즐겨찾기