2017-03-31 3 views
0

Je viens de commencer à apprendre python il y a quelques mois ... Je voudrais afficher un message quand il n'y a pas de résultat pour une requête dans ma page de requête (html). J'utilise python et flask. Le code que j'ai essayé n'affichait aucun message. Mon code id.html est (j'ai inclus le code en dehors du formulaire de recherche):Problèmes d'affichage d'un message flash dans ma page HTML

<div class="flashes"> 
    {% for message in get_flashed_messages() %} 
    {{ message }} 
    {% endfor %} 
</div> 

Et mon code python est:

@app.route('/id') 
def id(): 
    params={} 
    params['entryname']='Search ID' 
    idn=request.args.get('idn') 
    sql=text('select * from DATA where info LIKE :id') 
    words=engine.execute(sql,id=idn).fetchall() 
    params['objs']=words 
    if params['objs']==0: 
     flash('No Results') 
    return render_template('id.html', **params) 

J'ai essayé aussi ce juste pour le test et ne fonctionne pas

if params['objs']>0: 
     flash('Results') 

Je ne sais pas ce qui ne va pas dans mon code, la requête de recherche fonctionne, mais aucun message ...

Répondre

0

«J'ai essayé aussi ce juste pour le test et ne fonctionne pas »

if params['objs']>0: 
     flash('Results') 

Je ne pas utiliser Python, mais il semble que vous essayez de vérifier la taille pour vous assurer ça contient quelque chose? Si oui, peut-être cette logique peut vous aider:

Soit utiliser is_empty ou les len propriétés:

if is_empty(params)==True: 
     flash('No Results') 


if len(params)==0: 
     flash('No Results') 

Aussi, si vous vouliez plus-que puis écrire comme: if len(params) > 0: flash('Results')

+0

Celui-ci a fonctionné (dans le sens où je n'ai pas eu d'erreur): si len (params)> 0: flash ('Résultats'), mais aucun message n'a été affiché – Paul