Nell'app Flask servo le risorse statiche tramite l'app nel dev env, ma mi piacerebbe utilizzare un CDN in produzione. Ogni attività viene caricato in un modello chiamato base.hmtl
, quindi credo che la soluzione più semplice è quella di passare una variabile alla funzione di rendering e utilizzarlo nel modello come:Serve file statici da un CDN invece che da un pallone in produzione
<script src="{{ STATIC_URL }}/js/main.js"></script>
Normalmente sarebbe una stringa vuota nel dev env e l'url cdn in produzione. Mi piacerebbe evitare di passare questa variabile STATIC_URL
ad ogni vista. Potrei farlo funzionare con
@bp.context_processor
def set_static_path():
return dict(STATIC_URL='https://foo.bar.com')
Ma per me questo sembra un po 'hacky. C'è un modo migliore per risolvere questo problema?