2017-10-20 41 views
0

J'ai finalement obtenu les données à afficher dans mon navigateur mais le problème que j'ai un peu est comment ces données sont affichées et la seule chose que je peux faire pour le moment est de créer une nouvelle ligne. J'essaie de mettre des choses dans une ligne séparée.Format de sortie en python et Flask

Mon code flacon

from __future__ import print_function 
import flask 
from myoptimizer_optimizer import Site, Sport, get_optimizer 
app = flask.Flask(__name__) 

@app.route('/yield') 
def index(): 
    def inner(): 
     optimizer = get_optimizer(Site.SomeSite, Sport.SomeSport) 
     optimizer.load_players_from_CSV("/myssdvfile.csv") 
     player = optimizer.players[0] # get random player from optimizer players 
     player.max_exposure = 0.5 
     lineup_generator = optimizer.optimize(3) 
     for lineup in lineup_generator: 
      yield '%s</br>\n' % lineup 
    return flask.Response(inner(), mimetype='text/html') # text/html is required for most browsers to show the partial page immediately 

app.run(debug=True) 

Ce retour d'information comme ce 1. Player1 Position Points 2. PLAYER2 Position Points ....

Elle le fait 5 fois de suite .. Cependant, je Je suis en train de mettre quelque chose comme:

1.Player1 Position Points 
2.Player2 Position Points 
------------------------- 
Next generated lines 
1.Player1 Position Points 
2.Player2 Position Points 

Je n'ai aucune idée sur la façon de séparer les joueurs. Avec Print et No Flask il sort comme je l'ai expliqué plus haut .. mais avec Flask .. Je ne sais pas comment formater le texte comme ça.

Répondre

0

Essayez cette

def inner(): 
    ... 
    output = optimizer.optimize(3) 
    return output 

return flask.Response('\n'.join(inner()), mimetype='text/html') 
+0

Merci, qui a travaillé pour faire des lignes individuelles .. bien que maintenant les joueurs sont toujours dans une ligne .. comme 1. player1 55 55, 22 22 player2, player3 66 66 – JJWatt