bottle 플러그인 몇 개

2252 단어
전편'보틀의 플러그인과view 장식기 충돌 문제'에서 언급한 문제는 바로 내가 이 몇 개의 플러그인을 쓸 때 겪은 문제이다.
bottle를 사용하기 편리하도록 플러그인을 썼습니다.처음에 자신이 사용했을 때 모든 기능을 하나의 플러그인에 썼는데 좀 무겁고 유연하게 조합하기에 적합하지 않아서 분리해서 지금의 모습으로 바꿨다.
포함
  • beaker.BeakerPlugin
  • params.ParamsPlugin
  • login.LoginPlugin

  • beaker.BeakerPlugin
    Beaker session 플러그인은 bottle의 공식 Beaker 플러그인보다 사용하기 편합니다. 사실 공식 Beaker 플러그인은 아무 일도 하지 않았습니다. 직접 Beaker를 사용하는 것과 다를 것이 없습니다.
    구조 함수:
    BeakerPlugin(keyword="session")
    

    매개변수:
  • keyword:beaker session에서 사용하는 매개 변수 이름, 기본값은session입니다. 요청 응답 함수에 이 매개 변수가 포함되지 않으면 이 플러그인은 무시됩니다. 이 매개 변수가 포함되면 요청 환경에서 beaker의session 대상을 자동으로 읽습니다
  • 사용할 수 있는route 인자가 없습니다.
    beaker midware와 함께 사용해야 합니다. 사용 방법은 beaker 문서나 예시 프로그램 demo를 보십시오.py.
    params.ParamsPlugin
    매개 변수 플러그인, 자동으로 요청 매개 변수를 함수 호출 매개 변수로 바꾸고, 기본적으로utf-8 인코딩을 사용하여 유니코드로 바꾸며, 자동으로 요청 방법에 따라query나forms를 읽습니다. 만약 json 을 설정하면params 옵션은 json을 읽습니다.
    구조 함수:
    ParamsPlugin(json_params=False, encode="utf-8")
    

    매개변수:
  • json_params: json 인자를 사용할지 여부입니다.기본값은 False이며 True로 설정하면 bottle이 해결됩니다.request.json의 값은 dict 방식으로 대응하는 매개 변수로 해석됩니다.
  • encode: 요청 인코딩 방식을 지정합니다.기본값은 utf-8입니다.

  • route 매개 변수:
    요청한route에서도 json 사용 가능params, 특정 요청에 json 형식을 사용합니다.
    login.LoginPlugin
    간단한 로그인 처리 플러그인입니다.만약 사용자 로그인이 필요할 때 로그인 파라미터를 추가하면 (기본값은login) 요청을 처리하기 전에loginfunc는 로그인 작업을 처리하고, 성공하면login 매개 변수에 결과를 되돌려줍니다.
    로그인 작업을 처리하려면 데이터베이스와session에 의존해야 하기 때문에 두 개의 추가 인자가 필요합니다:db와session.이 두 파라미터는login 에 전달됩니다func.
    따라서 이 플러그인을 사용하려면 최소한 데이터베이스 (또는 sqlalchemy) 플러그인을 동시에 설치해야 한다. 이 플러그인 패키지의 Beaker Plugin과 같은session 플러그인을 설치해야 한다.
    구조 함수:
    LoginPlugin(login_func, keyword="login", dbkeyword="db", sessionkeyworkd="session")
    

    매개변수:
  • login_func: 로그인 처리 함수로 기본값이 없고 두 개의 인자가 있습니다:db와session은 데이터베이스와session을 전송하는 데 사용되며, 파라미터 값은 해당 플러그인을 값으로 합니다. (따라서 다른 플러그인은 이 플러그인보다 먼저 설치해야 합니다.) 되돌아오는 값은login 인자에 부여됩니다.
  • keyword:login 매개 변수 이름, 기본값은login입니다.
  • dbkeyword: 데이터베이스 플러그인의 매개 변수 이름, 기본값db입니다.
  • sessionkeyword:session 플러그인의 매개 변수 이름, 기본값은session
  • 사용 가능한 route 매개 변수가 없습니다.
    원본 코드가github에 전송되었습니다.

    좋은 웹페이지 즐겨찾기