2014-11-19 5 views
0

Previous question about choosing only specific files to freeze.Endpoints를 무시하고, Frozen-Flask MissingURLGeneratorWarning?

저는이 애플리케이션에서 정적이 아닌 동적 인 URL을 유지하기 위해 특정 엔드 포인트를 무시하고 싶다는 Frozen-Flask를 얻으려고 노력하고 있습니다. Frozen-Flask가 무시할 끝점 목록을 만드는 방법이 있습니까?

#imports 
app = Flask(__name__) 
freezer = Freezer(with_no_argument_rules = False, log_url_for = False, app = app) 
app.config['FREEZER_DESTINATION'] = 'build' 

#app-bluprint1 (Want to keep this one dynamic) 
@app.route('/app1/') 
@app.route('/app1/<path:path>/') 
def app1(path): 
    ... 
    return render_template(template, page = page) 

#app-bluprint2 
@app.route('/app2/', defaults = {'path': ''}) 
@app.route('/app2/<path:path>') 
def app2(path): 
    template = 'app2/index.html' 
    page = 'home' 
    if path != '': 
     template = '/app2/%s.html' %path[-1] 
     page = path[:-1] 
    return render_template(template, page = page) 

@freezer.register_generator 
def handle_route(): 
    print "Generating Static Files Links" 
    appDir = os.listdir('templates/app2') 
    for filenames in appDir: 
     if filenames == 'index.html': 
      yield {'path': ''} 
     elif filenames != 'base.html': 
      yield {'path': '%s/' % filenames[:-5]} 

#app-bluprint3 (Want to keep this dynamic) 
@app.route('/app3/', defaults = {'path': ''}) 
@app.route('/app3/<path:path>') 
def app3(path): 
    ... 
    return render_template(template, page = page) 

if __name__ == '__main__': 
    freezer.freeze() 
    app.run(debug=app.config['DEBUG'], port=app.config['PORT_NUMBER']) 

내가 오류 "MissingURLGeneratorWarning 얻고있다 :. 엔드 포인트 APP1 냉동 아무것도를 APP2 그러나, 나는이 엔드 포인트에 대해 아무것도 동결하지 않으

답변

0

이 경고를 해제 할 수있는 방법이 있습니까.?이 the -W flag

  1. 실행 파이썬 :

    python -W ignore:'.*':flask_frozen.MissingURLGeneratorWarning 
    
  2. 예, 부부가있다 당신의 __main__ 항목
  3. Filter such warnings :

    if __name__ == '__main__': 
        from warnings import simplefilter as filter_warnings 
        filter_warnings('ignore', 'flask_frozen.MissingURLGeneratorWarning') 
    
+0

내가 정적 또는 동적 인 중 하나에 대한에 전달하는 특정 인자를 가진 끝났다. 따라서 정적을 선택한 경우 app2의 @ app.route 만 정의되고 동적을 선택하면 app1 및 app3의 경로 만 정의됩니다. – MCF