Masonite로 작업하는 방법 - 웹 프레임워크와 같은 Python Rails/Laravel
전제 조건
설정
python -m venv venv
하여 새 가상 환경을 만든 다음source ./venv/bin/activate
활성화합니다. pip install masonite
석조석 설치 craft
를 실행하여 설치되었는지 확인합니다(craft는 모든 masonites 생성기 및 도구를 트리거하는 데 사용할 명령입니다). craft new
를 실행하여 현재 있는 폴더에 새 프로젝트를 생성합니다. craft serve
를 실행하여 기본적으로 포트 8000일부 경로 생성
폴더의 레이아웃이 레일이나 Laravel 폴더 구조와 매우 유사하다는 것을 알 수 있습니다. 경로를 추가하려면 서버에 다른 요청이 있을 때 실행되는 메서드가 있는 클래스인 컨트롤러를 만들어야 합니다.
craft controller first
이렇게 하면 두 가지 방법으로 app/http/controllers에 컨트롤러 파일이 생성됩니다.
__init__
메서드가 호출되기 전에 작업을 수행하는 데 사용할 수 있는 클래스 생성자, 이 경우 요청을 보유하는 클래스 속성을 생성하여 다른 모든 메서드에서 사용할 수 있도록 합니다. 다음 방법도 포함됩니다.
def show(self, view: View):
pass
JSON API를 만드는 데 중점을 둘 것이기 때문에 View 매개변수(html 보기를 제공하는 데 사용됨)가 실제로 필요하지 않습니다. 파이썬 사전이나 목록을 반환할 수 있으며 json 응답으로 처리됩니다.
def show(self):
return {"look": "I returned some json!"}
메소드 이름은 식별할 수 있는 방법 외에는 중요하지 않으므로 현재 원하는 대로 호출하거나 계속 표시할 수 있습니다.
컨트롤러를 경로에 연결
경로는 특정 컨트롤러 기능을 가리키는 URL 끝점과 메서드의 조합입니다. 이것은 route/web.py에서 처리됩니다. 우리는 일련의 경로를 가지고 있습니다.
"""Web Routes."""
from masonite.routes import Get, Post
ROUTES = [
Get("/", "WelcomeController@show").name("welcome"),
]
본질적으로 기존 경로는 서버가 "/"에 대한 Get 요청을 받으면 WelcomeController의 show 함수에서 응답을 처리한다고 말합니다.
컨트롤러에 대한 경로를 추가해 보겠습니다.
"""Web Routes."""
from masonite.routes import Get, Post
ROUTES = [
Get("/", "WelcomeController@show").name("welcome"),
Get("/first", "firstController@show").name("first"),
]
서버가 실행 중인지 확인하고 localhost:8000/first로 이동하면 json 메시지가 표시되어야 합니다! 그렇게 어렵지 않았습니다!
메이소나이트로 더 깊이 들어가다
Masonite는 데이터베이스 마이그레이션, 모델 생성 등을 위해 사용할 수 있는 도구의 세계를 가지고 있습니다. 모두 Rails 및 Laravel과 같은 프레임워크에서 낯설게 느껴지지 않아야 하는 패턴을 사용합니다. 그것을 시도하십시오, 나는 당신이 그것을 좋아할 것이라고 생각합니다!
Reference
이 문제에 관하여(Masonite로 작업하는 방법 - 웹 프레임워크와 같은 Python Rails/Laravel), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/alexmercedcoder/how-to-work-with-masonite-python-rails-laravel-like-web-framework-h0o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)