Plone 인스턴스 설정이 있습니다. 내 login_next 스크립트에서 사용자 지정 Python 스크립트 함수를 호출하려고합니다.Plone은 login_next 스크립트에서 파이썬 함수를 호출합니다.
어떻게하면됩니까?
는 예를 들어 말할 :Custom_print.py
def disp():
return 'Hello world'
가 어떻게 내 login_next 스크립트 내부에이 DISP()를 호출 할 것인가?
Plone 인스턴스 설정이 있습니다. 내 login_next 스크립트에서 사용자 지정 Python 스크립트 함수를 호출하려고합니다.Plone은 login_next 스크립트에서 파이썬 함수를 호출합니다.
어떻게하면됩니까?
는 예를 들어 말할 :Custom_print.py
def disp():
return 'Hello world'
가 어떻게 내 login_next 스크립트 내부에이 DISP()를 호출 할 것인가?
그래서이 Custom_print.py는 portal_skins에서 사용할 수있는 스킨 디렉토리에 있으며 기본 스킨에서 사용됩니까? 즉, http://your-plone-site/Custom_print을 방문하면 'Hello world'라는 문자열이 반환됩니다.
그런 다음 login_next 스크립트 (portal_skins의 사용자 정의 맵 또는 파일 시스템의 자체 스킨에서)를 사용자 정의하고 context.Custom_print()
을 호출 할 수 있습니다. 당신이 그 스크립트를 넣어 않은 위치에 따라 달라집니다
: 당신은 당신이 인수를 사용해야합니다 피부 디렉토리에 해당 스크립트가있는 경우
context.Custom_print()
. Acquisition's pitfalls에 유의하십시오. 이전 Zope2/CMF에서 import mymodule; mymodule.Custom_print()
세계를 portal_skins 하는 portal_skins/*/foo.py 객체가 메소드 자체처럼 을 처리 :이 파일 시스템 모듈이 있다면
context.foo()
으로 넘어 가서 '호출'되기 때문에 내용을 으로 감쌀 필요가 없습니다. 아니 가져 오기 또는 다른 일반적인 파이썬 물건. 우리가 할 수있는 한 빨리이 물건에서 벗어나고 더 평범한 정신으로 돌아 가려하지만, login_next는 여전히 portal_skins 스크립트이므로, 포털 _ 스킨 스크립트를 사용하여 수행하려는 작업에 적합합니다. 따라서 login_next 스크립트는 직접 return "Hello World"
할 수 있습니다.
아니요, 가져 오기로 '사용'할 수 없습니다. login_next 스크립트는 특정 제한 사항 하에서 실행되며 파일 시스템 모듈이 모듈 허용 목록에있는 경우에만 가져올 수 있습니다. –
eheh, 맞아 ...이 코드를 사용하여 허용 된 모듈에서 활성화해야합니다. http://wiki.zope.org/zope2/HowToAddModulesToRestrictedCode –