apuntes:aplicaciones_web
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
apuntes:aplicaciones_web [2018/02/01 13:43] – [Finalizar la sesión del usuario] Santiago Faci | apuntes:aplicaciones_web [2019/06/12 16:08] (current) – [Definir el modelo y configurar la Base de Datos] Santiago Faci | ||
---|---|---|---|
Line 43: | Line 43: | ||
<code bash> | <code bash> | ||
- | santi@zenbook: | + | santi@zenbook: |
</ | </ | ||
Line 183: | Line 183: | ||
' | ' | ||
' | ' | ||
+ | ' | ||
] | ] | ||
Line 991: | Line 992: | ||
username = request.POST[' | username = request.POST[' | ||
password = request.POST[' | password = request.POST[' | ||
- | user = authenticate(username=username, | + | user = authenticate(request, |
if user is not None: | if user is not None: | ||
login(request, | login(request, | ||
Line 1056: | Line 1057: | ||
===== Informes ===== | ===== Informes ===== | ||
+ | |||
+ | Para la creación de informes con Django utilizaremos la librería [[http:// | ||
+ | |||
+ | El primer paso será instalar el paquete '' | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
+ | </ | ||
+ | |||
+ | A continuación se muestran algunos ejemplos de uso de esta librería para la generación de informes. Conviene tener en cuenta que en éstos, se muestra solamente el código corresponde a la función que permite crear la '' | ||
+ | |||
+ | En este primer ejemplo se creará un informe (en PDF) donde se mostrará un título y a continuación un listado con los títulos de todas las películas de la Base de Datos. En este caso utilizaremos el objeto '' | ||
+ | |||
+ | <code python views.py> | ||
+ | . . . | ||
+ | def informe_peliculas(request): | ||
+ | response = HttpResponse(content_type=' | ||
+ | response[' | ||
+ | |||
+ | buffer = BytesIO() | ||
+ | |||
+ | can = canvas.Canvas(buffer) | ||
+ | can.drawString(200, | ||
+ | |||
+ | peliculas = Pelicula.objects.all() | ||
+ | y = 700 | ||
+ | for pelicula in peliculas: | ||
+ | can.drawString(50, | ||
+ | y -= 20 | ||
+ | |||
+ | can.showPage() | ||
+ | can.save() | ||
+ | |||
+ | pdf = buffer.getvalue() | ||
+ | buffer.close() | ||
+ | response.write(pdf) | ||
+ | |||
+ | return response | ||
+ | . . . | ||
+ | </ | ||
+ | |||
+ | En este segundo ejemplo, utilizando en este caso el objeto '' | ||
+ | |||
+ | <code python views.py> | ||
+ | . . . | ||
+ | def informe_peliculas(request): | ||
+ | response = HttpResponse(content_type=' | ||
+ | response[' | ||
+ | |||
+ | buffer = BytesIO() | ||
+ | |||
+ | documento = SimpleDocTemplate(buffer, | ||
+ | contenido = [] | ||
+ | estilos = getSampleStyleSheet() | ||
+ | cabecera = Paragraph(" | ||
+ | contenido.append(cabecera) | ||
+ | |||
+ | cabecera_tabla = (' | ||
+ | datos = [(pelicula.titulo, | ||
+ | tabla = Table([cabecera_tabla] + datos) | ||
+ | tabla.setStyle(TableStyle([(' | ||
+ | |||
+ | contenido.append(tabla) | ||
+ | documento.build(contenido) | ||
+ | response.write(buffer.getvalue()) | ||
+ | buffer.close() | ||
+ | return response | ||
+ | . . . | ||
+ | </ | ||
+ | |||
+ | Podéis encontrar más información en esta [[https:// | ||
===== Internacionalización ====== | ===== Internacionalización ====== | ||
Line 1116: | Line 1188: | ||
- | ==== Utilizando WSGI ==== | + | ==== Utilizando WSGI con Apache |
En este apartado veremos como desplegar una aplicación web Django con Apache usando el módulo WSGI. Para ello tendremos que realizar una serie de ajustes, instalación y configuraciones: | En este apartado veremos como desplegar una aplicación web Django con Apache usando el módulo WSGI. Para ello tendremos que realizar una serie de ajustes, instalación y configuraciones: | ||
Line 1246: | Line 1318: | ||
Y ahora podrás visitar tu aplicación web Django accediendo directamente a '' | Y ahora podrás visitar tu aplicación web Django accediendo directamente a '' | ||
+ | ==== Desplegar la aplicación utilizando entornos virtuales ==== | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
+ | santi@zenbook: | ||
+ | santi@zenbook: | ||
+ | . . . | ||
+ | santi@zenbook: | ||
+ | santi@zenbook: | ||
+ | . . . | ||
+ | santi@zenbook: | ||
+ | </ | ||
+ | |||
+ | <file apache / | ||
+ | . . . | ||
+ | WSGIDaemonProcess peliculas python-path=/ | ||
+ | . . . | ||
+ | </ | ||
===== Ejercicios ===== | ===== Ejercicios ===== | ||
Line 1276: | Line 1366: | ||
---- | ---- | ||
- | (c) 2017 Santiago Faci | + | (c) 2018 Santiago Faci |
apuntes/aplicaciones_web.txt · Last modified: 2019/06/12 16:08 by Santiago Faci