각 웹 응용 프로그램 핸들러를 지정하는 모듈과 각 라우터를 지정하는 모듈이있는 프로그램이 있습니다.
내가 사용하는 라이브러리는 here입니다. webapp.service
에서데코레이터를 호출하는로드 모듈
발췌 (더 같은 모듈이 있습니다) :
webapp.router
from webapp.router import ROUTER
@ROUTER.route('/service/[id:int]')
class ServicePermissions(AuthenticatedService):
"""Handles service permissions."""
NODE = 'services'
NAME = 'services manager'
DESCRIPTION = 'Manages services permissions'
PROMOTE = False
가 :
ROUTER = Router()
나는 webapp.router
모듈을 가져 오십시오 webapp.service
모듈은 분명 실행되지 않습니다. 따라서 @ROUTER.route('/service/[id:int]')
데코레이터가 실행되지 않고 해당 웹 응용 프로그램이 해당 경로와 함께 사용할 수 없다는 메시지와 함께 실패합니다.
webapp.service
의 코드를 실행하여 데코레이터를 "실행"하는 것이 가장 좋은 방법은 무엇입니까? 모듈 자체 나 멤버를 가져올 필요가 없습니다.
으로 메인 모듈에 전화 :
당신은 같은 기능을 사용할 수 있습니다. 그것이 코드를 실행하는 유일한 방법입니다. –
_ "webapp.router 모듈을 가져 오면 webapp.service 모듈이 실행되지 않습니다." 그게 어떻게 명백한가요? 모듈을 가져 오면 코드 실행이 중단됩니까? 왜 그런 경우가 있을까요? 나는 그 문제를 전혀 이해하지 못한다. –
@DanielRoseman 그러나 그런데 어떤 linter는 사용하지 않는 수입품에 관하여 불평 할 것이다. 더 우아한 방법이 있습니까? –