Taller Django Capitulo Ciudad Bolívar

django-logo-positive

Taller teórico-practico acerca del framework web Django. Al finalizar el taller el participante será capaz de crear una aplicación web usando el framework, así mismo conocer las diferentes ventajas de uso.

CONTENIDO DEL TALLER:
✔ Entendiendo como trabaja Django
✔ El modelo de datos
✔ El Shell de Django
✔ Vistas (Views)
✔ Plantillas (Templates) usando bootstrap
✔ Los formularios
✔ Los archivos estáticos (STATIC_URL)
✔ Gestión de usuarios
✔ Despliegue en el servidor web (virtualenv)

COSTO: 1150 Bs P/P

DURACIÓN: 16 Horas

FECHA: 19 y 20 de diciembre

Puedes apartar tu cupo con el 50% y el otro 50% el día del taller.

CERTIFICADO, MATERIAL DE APOYO, CARPETA INCLUIDOS

Información:
TLF: 0426-2795326
Correo: contacto@grupolab42.com.ve
TWITTER: @Lab42software

Para reservar su cupo deben hacer deposito o transferencia al numero de cuenta:
0105 0064 89 1064587348 del Banco Mercantil
A nombre de: LAB42 Software C.A.
RIF: J-402775199
Una vez hecho deben enviar sus datos junto al numero de voucher o transferencia al correo contacto@grupolab42.com.ve para confirmar su reserva.

PEP8 + Sublime Text 3

Algo que deberías hacer es respetar PEP8, te dejo un pequeño “plugin” para Sublime Text 3 que te ayudará con eso. Lo primero que debes hacer es instalar lo siguiente, abres Sublime Text 3 vas al menú View + Show Console y pegas esto.

import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

Esto te va a permitir instalar paquetes en tu sublime text, seguidamente la combinación de teclas ctrl + shift + p y en el cuadro que se despliega escribes install, seguidamente Buscas Python Flake8 Lint y comienza la instalación. Ya con eso tienes quien te avise si respetas o no el PEP8. Saludos y Happy Coding :)

Estilos a Forms Django

Saludos, un post rápido, donde explicaré la manera de como darle estilos CSS a los formularios creados con Django. La primera forma es la siguiente

Primera Forma
class MyForm(forms.Form): myfield = forms.CharField(widget=forms.TextInput(attrs={'class' : 'myfieldclass'}))

Segunda Forma:

class MyForm(forms.ModelForm):
class Meta:
model = MyModel

def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['myfield'].widget.attrs.update({'class' : 'myfieldclass'})

Tercera Forma:

class MyForm(forms.ModelForm):
class Meta:
model = MyModel
widgets = {
'myfield': forms.TextInput(attrs={'class': 'myfieldclass'}),
}

La diferencia entre cada una de ellas es visible, en la primera le das estilo solo al input text que necesitas, puedes definir diferentes estilos para diferentes input text. En la segunda le das el mismo estilos a todos los campos (fields) del formulario y en la tercera le das estilo solo a los campos de texto (TextInput) el mismo estilo para todos

Lógicamente debes cambiar el “myfieldclass” por tu class en CSS.

Si deseas agregar un “Placeholder”, basta con agregar siguiente a (attrs={'class: 'myfieldclass', 'placeholder': 'lo que desees'})

Nginx + Uwsgi + Virtualenv + pip + Django en Debian 7

La puesta en producción de un proyecto desarrollado en Django, a veces suele ser complicada si se es un novato, sin embargo en esta oportunidad trataré de hacerte la vida más fácil con este post, espero sepas aprovecharlo y comentar.

Comenzamos instalando pip y virtualenv para crear nuestro entorno virtual de trabajo para Django, esto lo hacemos (dependiendo de la distribución de GNU/Linux que estés usando), en mi caso uso Debian GNU/Linux.

apt-get install python-pip python-virtualenv

Una vez instalado esto creamos nuestro entorno virtual con el siguiente comando

$virtualenv --no-site-packages mysite

Con esto se creara nuestro entorno virtual, con ello listo, procedemos a a activarlo con el comando
$cd mysite
$source bin/activate

Listo, vamos a instalar Django y las dependencias de nuestro proyecto.
$pip install Django==1.6.5

Creamos el proyecto con el comando de costumbre $django-admin.py startproject myproject

Ahora procederemos a instalar nuestro Nginx, la versión para este post es la 1.7 y de manera simple pueden descargarse un .deb desde este enlace NGINX

Ejecutan el .deb tal cual y con ello queda instalado el nginx, procedemos a configurarlo para que acepte nuestra aplicación hecha con Django, lo primero que debemos hacer es crear un archivo en /etc/nginx/conf.d que contendrá todo la información de nuestra app
server {
listen 9000;
server_name localhost;
access_log /var/log/myproject/myproject_access_log;
error_log /var/log/myproject/myproject_error_log;
root /home/usuario/dev/mysite/myproject;

location /static {
alias /home/usuario/dev/mysite/myproject/static;
}
location / {
uwsgi_pass unix:/tmp/uwsgi_myproject.sock;
include uwsgi_params;
}
}

Explicamos un poco, le estamos diciendo a nginx que escuche en el puerto 9000, configurando el access_log y error_log en una carpeta que debemos crear en la ruta /var/log/myproject, el root de nuestra app estará en /home/usuario/dev/mysite/myproject al igual que los archivos estáticos, luego simplemente le damos la location del uwsgi_pass e incluimos el uwsgi_params.

Ahora vamos a configurar el uwsgi, aún no lo hemos instalado, lo que debemos hacer es
$pip install uwsgi

Seguidamente debemos crear un archivo con la siguiente información
[uwsgi]
chdir=/home/usuario/dev/mysite/myproject
module=myproject.wsgi:application
socket=/tmp/uwsgi_myproject.sock # Debe ser la misma del archivo de configuración de Nginx
master=True
pidfile=/tmp/myproject.pid
vacuum=True
max-requests=5000
daemonize=/tmp/myproject.log

Ahora simplemente toca reiniciar el nginx /etc/init.d/nginx restart y reiniciamos el uwsgi ../bin/uwsgi --ini uwsgi.ini

Con esto ya tendrás tu sitio arriba.

Captura de pantalla - 220614 - 22:31:16¿Simple no?, cualquier duda comenta…

Cada vez que hagas un cambio debes reiniciar el uwsgi con el comando arriba descrito, buenas noches y happy coding :)

Taller en Ciudad Bolívar (Framework Web DJANGO)

django-logo-positive

Taller teórico-practico acerca del framework web Django. Al finalizar el taller el participante será capaz de crear una aplicación web usando el framework, así mismo conocer las diferentes ventajas de uso.

CONTENIDO DEL TALLER:
✔ Entendiendo como trabaja Django
✔ El modelo de datos
✔ El Shell de Django
✔ Vistas (Views)
✔ Plantillas (Templates) usando bootstrap
✔ Los formularios
✔ Los archivos estáticos (STATIC_URL)
✔ Gestión de usuarios
✔ Despliegue en el servidor web (virtualenv)

COSTO: 1150 Bs P/P

DURACIÓN: 16 Horas

FECHA: 22 y 23 de Marzo

Puedes apartar tu cupo con el 50% y el otro 50% el día del taller.

CERTIFICADO, MATERIAL DE APOYO, CARPETA INCLUIDOS

Información:
TLF: 0426-2795326
Correo: lab42software@gmail.com
TWITTER: @Lab42software

Para reservar su cupo deben hacer deposito o transferencia al numero de cuenta:
0105 0064 89 1064587348 del Banco Mercantil
A nombre de: LAB42 Software C.A.
RIF: J-402775199
Una vez hecho deben enviar sus datos junto al numero de voucher o transferencia al correo taller@lab42software.ca para confirmar su reserva.

Los números de 2013

Los duendes de las estadísticas de WordPress.com prepararon un informe sobre el año 2013 de este blog.

Aquí hay un extracto:

La sala de conciertos de la Ópera de Sydney contiene 2.700 personas. Este blog ha sido visto cerca de 30.000 veces en 2013. Si fuera un concierto en el Sydney Opera House, se se necesitarían alrededor de 11 presentaciones con entradas agotadas para que todos lo vean.

Haz click para ver el reporte completo.