J'ai une autre question Python débutant. J'ai la pièce suivante de code que j'ai un sentiment est pas écrit pythonique comme il devrait être:python basic while loop
rowindex = 0
while params.getfirst('myfield'+rowindex):
myid = params.getfirst('myfield'+rowindex)
# do stuff with myid
rowindex+=1
L'entrée à ce script est une page HTML qui peut avoir un certain nombre de champs d'entrée nommés « myfield # "où # commence à 0 et augmente séquentiellement. En Perl, je ferais quelque chose de plus comme ceci:
rowindex = 0
while myid = params.getfirst('myfield'+rowindex):
#do stuff with myid
rowindex+=1
Mais ce n'est pas une syntaxe valide en Python. Je sais ce que je vais faire, mais y a-t-il un meilleur moyen? Je vous remercie.
Excellente pensée! – Wes
L'usurpation d'un milliard de champs nécessiterait cependant de fournir des gigaoctets d'informations dans la requête. Si le serveur accepte cela, c'est un DOS seul, ne nécessitant aucun code python. – recursive
@recursive. Django évalue la demande POST paresseusement, mais si vous continuez à demander des valeurs, il continuera à accepter les entrées du client. Je suppose que vous pouvez vérifier l'en-tête contenu-longueur pour empêcher ce genre de chose, mais est-ce que tous les navigateurs (et tous les clients) le fournissent? –