2010-11-11 15 views
2

J'essaye de prendre des lignes d'un fichier et de les mettre dans une table qui sera affichée sur le web. Je dois être capable de référencer ces lignes individuellement pour modifier les informations de la table en utilisant une instruction if ... else. Quelqu'un peut-il m'aider à trouver un moyen de faire référence à ces lignes quand elles sont tirées à travers - c'est mon code jusqu'à présent.Python: référencer des lignes dans un tableau

#for each line in emaildomains - print out on page to view 
print '<form method=\'post\' name="updateUsers">' 
print '<table border="1">' 
print '<tr>' 
print '<th>Email Address</th>' 
print '<th>Delete Email</th>' 
print '<th>Make Changes?</th>' 
print '</tr>' 
n=1 
for line in emaildomains: 
    print '<tr>' 
    print '<td><input type="text" name=\"useraddress\", n, value ="%s">' %line 
    print '<input type="hidden" name=useraddress_org value ="%s"></td>' %line 
    print '<td><input type=\"radio\" name=\"deleteRadio\", n, style=margin-left:50px></td>' 
    print '<td><input type="submit" value="Edit Users" /></td>' 
    print '</tr>' 
    n+=1 
print '</table>' 
print '</form>' 

Répondre

2

Définir un attribut id HTML pour chaque entrée de la table (ou une ligne, en fonction de vos besoins). Par exemple.

<tr id="Foo"> 
0

Utilisez des chaînes de format à votre avantage. Par exemple, si je souhaitais ajouter un message d'accueil de manière conditionnelle, la valeur par défaut serait la chaîne vide et je la changerais en fonction de mon humeur. Aussi:

  • Au lieu d'instancier et de maintenir un compteur, pensez à utiliser enumerate().
  • Essayez d'éviter les caractères qui s'échappent.
  • Maintenir un style cohérent propre (vous aviez des attributs HTML en utilisant », certains à l'aide », et on n'utilisant quoi que ce soit)

Exemple:.

#for each line in emaildomains - print out on page to view 
table_fs = """ 
<form method="post" name="updateUsers"> 
%s 
<table border="1"> 
<tr> 
<th>Email Address</th> 
<th>Delete Email</th> 
<th>Make Changes?</th> 
</tr> 
%s 
</table> 
</form> 
""" 

line_fs = """ 
<td> 
    %s 
    <input type="text" name="useraddress" %s value ="%s"> 
    <input type="hidden" name="useraddress_org" value ="%s"> 
</td> 
<td><input type="radio" name="deleteRadio", n, style=margin-left:50px></td> 
<td><input type="submit" value="Edit Users" /></td> 
""" 

good_mood = '' 
if i_have_cookies: 
    good_mood = '<h1>I LOVE COOKIES!</h1>' 

lines = [] 
for n, line in enumerate(emaildomains, 1): 
    greeting = '' 
    if i_like_this_persion: 
     greeting = 'Hi!' 
    line = [] 
    line.append(line_fs%(greeting, n, line, line)) 
    cells_string = '\n'.join(['<td>%s</td>'%x for x in line]) 
    row_string = '<tr>%s</tr>'%(cells_string) 
    lines.append(row_string) 

rows_string = '\n'.join(lines) 
print table_fs%(good_mood, rows_string) 

PS Il est un peu en retard, et je suis un peu fatigué, donc je suis désolé si je ne peux pas épeler, ou si j'ai raté quelque chose