2014-11-19 2 views
0

Previous question about choosing only specific files to freeze.Игнорирование конечных точек, Frozen-Flask MissingURLGeneratorWarning?

Я работаю над попыткой получить Frozen-Flask, что я хочу игнорировать некоторые конечные точки, чтобы поддерживать эти URL-адреса динамическими и не статичными в этом приложении. Есть ли способ сделать список конечных точек для 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

.? Да, есть пара:

  1. Run Python с the -W flag:

    python -W ignore:'.*':flask_frozen.MissingURLGeneratorWarning 
    
  2. Filter such warnings в вашем __main__ запись:

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

Я закончил тем, что конкретные аргументы, передаваемые в течение либо быть статическим или динамическим. Поэтому, если вы выбрали static, были определены только @ app.route для app2, и если вы выбрали динамический, были определены только маршруты для app1 и app3. – MCF