Ayuda diseño/desarrollo de RedPanal en <grafiks.info:8080>
pads:
Varios
old -> clonar de bitbucket -> https://bitbucket.org/san/redpanal/ en /opt/redpanal
hg clone https://bitbucket.org/san/redpanal
@@clonar RedPanal de Github@@
git clone git@github.com:RedPanal/redpanal.git
crear env desde /opt/django_workenv_ssp
source /opt/django_workenv_wsp/bin/activate
ruta del repositorio redpanal (para correr git)
cd /opt/redpanal
ruta para correr la instancia django de redpanal (para correr ./manage.py)
cd /opt/redpanal/redpanal
ruta para acceder a la db y directorios del proyecto
cd /opt/redpanal/redpanal/redpanal
crear db
./manage.py syncdb
actualizar db (despues de un pull que crea nuevosfields en los modelos)
./manage.py migrate
si no funciona, metodo manual ej para redpanal.audio:
./manage.py schemamigration redpanal.audio --auto
./manage.py migrate
correr el servidor http en el puerto 8080 (con virtualenv corriendo):
cd /opt/redpanal/redpanal
./manage.py runserver 0.0.0.0:8080
Recursos
Iconos de Font Awesome http://fontawesome.io/icons/
Git
- Una referencia visual de Git http://marklodato.github.io/visual-git-guide/index-es.html
- ejemplo de uso colaborativo de github https://playdoces.appspot.com/documentation/1.2.4/github
- github -> Adding an existing project to GitHub using the command line
Guías
Virtual Environments http://docs.python-guide.org/en/latest/dev/virtualenvs/
Django Endless Pagination http://django-endless-pagination.readthedocs.org/en/latest/templatetags_reference.html
South/migrate
si hubo cambios en la estructura de la base de datos, se deben correr todos los script de migración de las aplicaciones (que usen South) con:
./manage.py migrate
también, para migrar todas las aplicaciones y ademas sincronizar la base de datos
./manage.py syncdb --migrate
para migrar solo una aplicacion en particular:
./manage.py migrate <aplicacion>
# ej:
./manage.py migrate audio
Crear los script de migración
Cuando uno efectua cambios en los modelos de datos, debe crear su script de migracion, y ejecutarlo.
Crear un nuevo script de migración:
./manage.py schemamigration <aplicacion> --auto
Aplicar la migración a la base de datos:
./manage.py migrate <aplicacion>
más info:
- http://conocimientoabierto.es/tutorial-basico-django-south/493/ tutorial básico
- Documentación, comandos: http://south.readthedocs.org/en/latest/commands.html
- Documentación, tutorial: http://south.readthedocs.org/en/latest/tutorial/part1.html
gettext
(traducciones)
info
para que los textos sean "traducibles" en el código
- en archivos python (.py):
_("english text")
- en templates django (.html):
{% trans "english text" %}
Uso de gettext
Tener instalado gettext en el sistema:
apt-get install gettext
1) Regenerar django.po
(actuaizar de las cadenas traducibles de todo el código)
- Activar el virtualenv
- ir un direcorio por encima
locale/
(/opt/redpanal/redpanal/redpanal
) - ejecutar
django-admin.py makemessages -a
Entonces se regenera ../locale/es/LC_MESSAGES/django.po
y se puede editar django.po
con un editor de texto cualquiera (nota: eliminar el comment #fuzzy
de la traduccion "adivinada").
2) Compilar django.mo
:
django-admin.py compilemessages
Screen
"Screen" es un programa que sirve para mantener sesiones de terminal "en segundo plano", de las que se puede salir con una combinación de teclas, y volver a entrar con el comando screen. Útil para cerrar una sesion ssh y poder dejar el servidor http de pruebas de django funcionando.
Listar las instancias de screen
abiertas
screen -list
Abrir instancia (cuando existe sólo una?)
screen -r
Crear una nueva instancia screen
screen
# luego enter o spacebar
Salir de una instancia: "Ctrl + a", y luego "d" (detach)
Fabric
Instalar fabric en pc local dentro de un virtualenv:
requerimientos: tener instalado virtuaenv
apt-get install python-virtualenv python-dev
elegir una carpeta para crear virtualenvs
cd <virtualenvs folder>
crear el virtualenv con algun nombre:
virtualenv redpanal-fabric
si todo sale bien, activar el virtualenv creado con:
source redpanal-fabric/bin/activate
instalar fabric v 1.6
pip install pycrypto
pip install fabric==1.6
Usar fabric:
ir a la carpeta del repo local de RedPanal, si no lo tenemos clonarlo
cd <carpeta de repos>
git clone https://github.com/RedPanal/redpanal.git
cd redpanal
para reiniciar el servidor si se cayó:
fab webserver_restart
para hacer deploy:
fab deploy
listar los comandos de fab
fab -l
Reiniciar el servidor en el servidor (como root)
sudo /etc/init.d/uwsgi2 restart