[python] cgi

Martin Beran info na berycz.net
Čtvrtek Srpen 4 10:45:29 CEST 2011


Díky, všiml jsem si, že frameworky si to řešej vždycky po svém a každej jinak :) asi hold je budu muset všechny projet 
pořádně a zjistit, co uměj...
že cgi je pomalé vím, ale hádám že běžné hostingy to tak budou většinou mít :-/ každopádně chtěl bych to udělat 
univerzálně, aby to běželo pod vším, což nebude asi legrace...
fieldstorage bych opravdu nedoporučoval, nelíbí se mi tam třeba při uploadu souboru, že člověk nemá šanci zjistit, kde 
se ten soubor nachází, on je někde v tempu a snad už je na něj "navázanej" unlink a při zavření souboru se smaže, takže 
můžu jen kopírovat obsah, místo toho abych jednodušeji a rychleji použil os.rename... dál jsem ještě nezkoušel, co to 
třeba dělá při multiuploadu (input file multiple), kdo ví, zda to funguje... :) nemluvě o nějaké možnosti navázaní 
přerušeného uploadu...
budu se do toho muset pořádně začíst, popravdě toho moc o cgi nevím

každopádně ještě jednou díky, já se asi budu muset prohrabat v těch frameworkách :(


Dne 4.8.2011 10:30, Petr Messner napsal(a):
> Ahoj,
>
> tento problém řeší snad každý webový framework, takže možnosti existují.
>
> Třeba Werkzeug se dá pod CGI rozjet takto:
> http://werkzeug.pocoo.org/docs/deployment/cgi/
> POSTnutá data jsou k dispozici v MultiDictu Request.form, soubory jsou
> zvlášť v Request.files:
> http://werkzeug.pocoo.org/docs/wrappers/#werkzeug.wrappers.BaseRequest.files
> Werkzeug má na to vlastní FileStorage:
> http://werkzeug.pocoo.org/docs/datastructures/#werkzeug.datastructures.FileStorage
>
> Podobně ve WebOb jsou POSTnutá data v req.POST, opět v nějakém
> multidictu jako FieldStorage. Ale nevím, jaký přesně FieldStorage to
> je.
>
> Django zase ukládá POST data do Request.POST (což je QueryDict) nebo
> Request.FILES jako UploadedFile:
> https://docs.djangoproject.com/en/dev/ref/request-response/
>
> A takhle by se dalo pokračovat. Jak je vidět, nějakou vlastní
> abstrakci nad daty z HTTP POST si dělá snad každý :) Udělat si jen
> vlastní objekt (fasádu) nad cgi.FieldStorage s hezčím API by také bylo
> možná řešení.
>
> Snad jsem odpověděl správně. Mimochodem, CGI bych dnes už
> nedoporučoval, snad jen kromě studijních účelů. Aplikace pod CGI jsou
> pomalé, protože při každém HTTP požadavku se musí celá aplikace
> spustit znovu.
>
> PM
>
>
> 2011/8/4 Martin Beran<info na berycz.net>:
>> zdravím, jsem tu novej...
>> a zajímalo by mě, jestli existuje pohodlnější možnost načítání dat z cgi,
>> než je cgi.FieldStorage, protože ten mi přijde naprosto nepohodlnej. (když
>> python běží pod cgi)
>>
>> Díky
>> MB
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python



Další informace o konferenci Python