2017-09-14 3 views
0

그래서 나는 main.py 안에 내 응용 프로그램에 대해 정의 된 경로 같은 것을 가지고앱 엔진 크론 작업 내에서 앱의 경로에 액세스하는 방법은 무엇입니까? 예를 들어이 작동하지 않는, 내가 응용 프로그램의 노선에 액세스 할 수없는 것 크론 작업 내부</p> <pre><code>app = webapp2.WSGIApplication([ webapp2.Route('/', handler=HomePage, name="home") ]) </code></pre> <p>:

self.uri_for('home') 

나는 온라인 어딘가를 해결 코드 조각을 발견하지만, 사용하는 추한 :

cls.app.router.add(r) 

을 210은 경로 배열입니다.

앱 엔진 크론 작업 내에서 앱의 경로에 액세스 할 수있는 방법이 있습니까?

답변

2

귀하의 예는 정확하지 않습니다. simple routesextended routes 사이의 십자가 인 것 같습니다. selfwebapp2.RequestHandler 인스턴스 가정, 장소에 self.uri_for('home')해야 일을 그와

app = webapp2.WSGIApplication([ 
    webapp2.Route(r'/', handler=HomePage, name='home'), 
]) 

:

는 이름 경로, 즉 확장 경로를 사용할 필요가 self.uri_for('home') 사용할 수있게합니다.

해결 방법은 단지 추한 보이지만, 그뿐만 아니라 under the hood을 무엇 uri_for 꽤 많이 있습니다 :

def uri_for(self, _name, *args, **kwargs): 
    """Returns a URI for a named :class:`Route`. 

    .. seealso:: :meth:`Router.build`. 
    """ 
    return self.app.router.build(self.request, _name, args, kwargs)