En PHP, vous pouvez simplement utiliser pour poste et
pour les variables GET (chaîne de requête). Quel est l’équivalent en Python ?
Réponses
Trop de publicités?supposons que vous êtes l'affichage d'un formulaire html avec ceci:
<input type="text" name="username">
Si vous utilisez raw cgi:
import cgi
form = cgi.FieldStorage()
print form["username"]
Si à l'aide de Django, de Pylônes, de la Fiole ou de la Pyramide:
print request.GET['username'] # for GET form method
print request.POST['username'] # for POST form method
À L'Aide De Turbogears, Cherrypy:
from cherrypy import request
print request.params['username']
form = web.input()
print form.username
print request.form['username']
Si vous utilisez Cherrypy ou Turbogears, vous pouvez également définir votre gestionnaire de fonction prenant un paramètre directement:
def index(self, username):
print username
class SomeHandler(webapp2.RequestHandler):
def post(self):
name = self.request.get('username') # this will get the value from the field named username
self.response.write(name) # this will write on the document
Ainsi vous devrez choisir l'un de ces cadres.
Cela dépend un peu de ce que vous utilisez comme un cadre CGI, mais ils sont disponibles dans les dictionnaires accessibles au programme. Je voudrais vous dire pour les docs, mais je ne reçois par le biais de python.org dès maintenant. Mais cette note sur mail.python.org vous donnera un premier pointeur. Regardez les libs CGI et URLLIB Python pour en savoir plus.
Python est seulement un langage, pour obtenir le GET et POST, les données, vous devez un framework web ou outil écrit en Python. Django est un, ainsi que Charlie, la cgi et urllib modules standard sont d’autres. Aussi disponible sont des pylônes, CherryPy, web.py, mod_python, Turbogears, fastcgi, etc, etc..
Dans Django, les fonctions de votre vue reçoivent un argument de demande qui a demande. OBTENIR et demander. Publier. Autres cadres vont le faire différemment.