Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
fw:others:webpy [2011/11/24 15:18] alfred |
fw:others:webpy [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 81: | Línea 81: | ||
| ==== Sesiones y autentificación ==== | ==== Sesiones y autentificación ==== | ||
| [[http://webpy.org/docs/0.3/sessions]] | [[http://webpy.org/docs/0.3/sessions]] | ||
| + | |||
| + | |||
| ==== Contenido estático ==== | ==== Contenido estático ==== | ||
| + | === Carpeta static === | ||
| + | Podemos agregar una carpeta static en la ruta de la aplicación, esta contendrá los documentos que no cambian. Por ejemplo ''<nowiki>http://localhost/static/logo.png</nowiki>'' enviaría la imágen ''./static/logo.png''. \\ | ||
| + | Una carpeta mapeada a partir de la directiva ''Alias'' de Apache también serviría. | ||
| + | === A partir de código === | ||
| + | <code python> | ||
| + | import os | ||
| + | import web | ||
| + | |||
| + | urls = ( | ||
| + | '/images/(.*)', 'images' #this is where the image folder is located.... | ||
| + | ) | ||
| + | |||
| + | class images: | ||
| + | def GET(self,name): | ||
| + | ext = name.split(".")[-1] # Gather extension | ||
| + | |||
| + | cType = { | ||
| + | "png":"images/png", | ||
| + | "jpg":"image/jpeg", | ||
| + | "gif":"image/gif", | ||
| + | "ico":"image/x-icon" } | ||
| + | |||
| + | if name in os.listdir('images'): # Security | ||
| + | web.header("Content-Type", cType[ext]) # Set the Header | ||
| + | return open('images/%s'%name,"rb").read() # Notice 'rb' for reading images | ||
| + | else: | ||
| + | raise web.notfound() | ||
| + | </code> | ||
| ==== Subir ficheros ==== | ==== Subir ficheros ==== | ||
| Línea 147: | Línea 177: | ||
| === ... Usarlo en un servidor de producción? === | === ... Usarlo en un servidor de producción? === | ||
| Tipo Apache o Lighttpd. \\ | Tipo Apache o Lighttpd. \\ | ||
| + | |||
| ==== Notas ==== | ==== Notas ==== | ||
| + | === Aplicaciones de ejemplo === | ||
| + | * {{fw:others:webpy:andreisavu-music-share-09b9eec.zip|Aplicación para compartir .mp3}} | ||
| === Ideas para la creación de un proceso en background === | === Ideas para la creación de un proceso en background === | ||
| :!: Falta probar en producción | :!: Falta probar en producción | ||