Se non lo si utilizza già si dovrebbe creare un file chiamato config.py
e poi caricarlo nel vostro Flask app, facendo qualcosa di simile a questo:
import config
app = flask.Flask(__name__)
app.config.from_object(config)
poi nel file config.py
si può scrivere:
# Running on App Enginge
PRODUCTION = os.environ.get('SERVER_SOFTWARE', '').startswith('Google App Engine')
# Running Localy
DEVELOPMENT = not PRODUCTION
# You decide when is DEBUG mode, usually when running locally
DEBUG = DEVELOPMENT
E poi nel modello è possibile utilizzare questi valori come questo:
{% if not config.DEBUG %}
<script>
...
</script>
{% endif %}
È inoltre possibile escludere gli utenti admin dell'applicazione in modo da influire sull'analisi poiché è probabile che li abusino comunque. Se implementato il current_user
il Flask modo, allora il modello dovrebbe essere modifica:
{% if not current_user.admin and not config.DEBUG %}
<script>
...
</script>
{% endif %}
Tra l'altro, tutto quanto sopra (config.py, main.py, analytics.html) di cui sopra sono utilizzati nel mio progetto gae-init.
Questo non è ancora ok visto che si potrebbe voler testare un utente normale o non accedere agli utenti localmente senza inviare nulla all'analitica .. – Lipis
Come ho detto sopra, devi trovare la condizione corretta che puoi usare per dire una macchina di sviluppo oltre a una macchina di produzione. Per me si trattava di amministratore non vs. admin, per voi potrebbe essere una questione di controllare il nome della macchina, l'indirizzo IP, qualcosa che identifica in modo univoco le vostre macchine di sviluppo. – Miguel
mio cattivo .. era troppo pigro per leggere tutta la risposta ..: / – Lipis