2015-01-06 4 views
5

Sto eseguendo Flask ed Eve su localhost contemporaneamente. L'app Flask serve file statici e fa richieste all'app Eve per ottenere alcuni dati. Voglio eseguire solo Eve, senza un'app separata Flask. Come posso servire file statici con Eve?Serve file statici con Eve

+0

che cosa è la vostra applicazione –

+0

la mia domanda è semplice chat + ricerca applicazione utilizzando angularjs e python eve – user3458284

+0

quindi è necessario testare l'applicazione in localhost –

risposta

4

Un approccio migliore sarà quello di premettere il/API per tutte le API REST. Questo può essere fatto aggiungendo URL_PREFIX="api" in settings.py.

In questo modo ogni volta che viene richiesta a /, Eve (Flask) non restituisce il catalogo risorse, invece restituisce la pagina come indicato in run.py.

Per servire contenuti statici aggiungere decoratori percorso di conseguenza in run.py,

@app.route('/') 
def index(): 
    return app.send_static_file('index.html') 

app.run(host="0.0.0.0", debug=True) 
+0

Ho scoperto che funzionava solo con URL_PREFIX e non con l'@ app.route. Buona risposta. –

3

Eve è un'applicazione di Flask (una sottoclasse), quindi come regola generale tutto ciò che funziona con Flask funziona anche con Eva. È possibile registrare un progetto o aggiungere nuovi percorsi.

vedere anche questa risposta per un collegamento ad un esempio di lavoro: Servicing html requests with Eve

+0

grazie mille variare. – user3458284

+0

prego. Accetta la risposta se pensi di averti aiutato a trovare una soluzione :) –

1

provare impostare import_name arg per la vigilia:

app = Eve(import_name=__name__)