2012-12-30 27 views
7

Bu soru şudur: Gytent kullanırken Python'da POST değişkenleri nasıl alınır?Gevent kullanırken Python'da POST değişkenleri nasıl alınır?

def application(env, start_response): 

Ve bu diğer parçasıdır::

şu uygulamaya geçirilir

if __name__ == '__main__': 
print 'Serving on 8080...' 
WSGIServer(('', 8080), application).serve_forever() 

Ama env benim POST içermez!

beni aydınlat Lütfen - nerede yanlış anlama yatıyor?

Teşekkür ederiz!

def

callback(request): 
    post_data = request.input_buffer.read(-1) 

cevap

2

isteğin gövdesini environ['wsgi.input'].read() ayrıştırmak gerekir:

+0

Teşekkür ederiz, @Denis! Aslında buradaki bir kod parçacığıyla karşılaştım: ', ---- | #!/usr/bin/env python | | şişesinden ithal Şişe | | app = Şişe | @ app.route ('/') | def merhaba(): | "Merhaba Dünya!" | | from gevent.pywsgi ithalat WSGIServer | WSGIServer (('', 8000), uygulama) .serve_forever() ' Ama gerçekten ne yaptığını anlamıyorum. Ve hangi yol daha hızlı? wsgi.input veya şişe? Teşekkür ederiz! –

+0

Ana önerileriniz çalışıyor! Çok teşekkür ederim! –

1

İşte istek işleyici örneği kodudur.

Ancak, sizin için bunu yapmak için bir web framework kullanarak daha iyi. WSGI özellikli web çerçevelerinin çoğu, gevent ile iyi çalışır. En az bir şeye ihtiyacınız varsa, bottle güzeldir.

+0

Nasıl _request_ yönteme geçirilen? Benim durumumda env ile aynı olmaz mıydı? –

İlgili konular