Añadir encabezados de respuesta a la aplicación web de matraz

Tengo una aplicación web de flask que usa render_template de la siguiente manera. Necesito agregar una Política de seguridad de contenido como encabezado de respuesta http adicional en la respuesta. Intenté los siguientes caminos pero ambos fallan y me dan 500.

1.

from flask import \ Flask, \ render_template app = Flask(__name__,template_folder='tmpl') @app.route('/') def index(): resp =make_response(render_template('index.html')) resp.headers['Content-Security-Policy']='default-src \'self\'' return resp if __name__ == '__main__': app.run(host='0.0.0.0', port=3001) 

2.

 @app.route('/') def index(): resp =render_template('index.html') resp.headers.add('Content-Security-Policy','default-src \'self\'') return resp if __name__ == '__main__': app.run(host='0.0.0.0', port=3001) 

¿Qué puede estar mal aquí?

En la terminal veo lo siguiente cuando accedo a la aplicación web como localhost: 3001

127.0.0.1 – – [06 / Apr / 2015 01:45:01] “GET / HTTP / 1.1” 500 –

render_template devuelve una cadena, no una respuesta. Una cadena devuelta de una vista se envuelve automáticamente en una respuesta de Flask, por lo que puede estar confundido. Construye la respuesta con la plantilla renderizada.

 from flask import make_response r = make_response(render_template('index.html')) r.headers.set('Content-Security-Policy', "default-src 'self'") return r