Hace tiempo que quiero hacer un pequeño curso-manual sobre django. En esta primera parte comenzaremos con el software base para llevarlo a la práctica. Espero que una vez terminado quede suficientemente claro y sobre todo, que sea de utilidad.
Software base:
- Debian 6.0.3
- Python
- Python setuptools
- gcc
- python-imaging
- Mysql
- python-mysqldb
- apache2
- Django-1.3.1.tar.gz -> https://www.djangoproject.com/download/
- Python setuptools
- gcc
- python-imaging
- Mysql
- python-mysqldb
- apache2
- Django-1.3.1.tar.gz -> https://www.djangoproject.com/download/
- digi604-django-smart-selects-1.0.4-0-ga8f9eb9.zip -> https://github.com/digi604/django-smart-selects
Hay un bug (https://github.com/digi604/django-smart-selects/issues/27) que se corrige con el parche que podemos encontrar en: https://github.com/GrAndSE/django-smart-selects/commit/7e2a8d572b3615cc39a3c9f9d60e1b60de06f46f
Habría que actualizar el fichero widgets.py en la carpeta smart_selects, tras esto instalar django-smart-selects.
Hay un bug (https://github.com/digi604/django-smart-selects/issues/27) que se corrige con el parche que podemos encontrar en: https://github.com/GrAndSE/django-smart-selects/commit/7e2a8d572b3615cc39a3c9f9d60e1b60de06f46f
Habría que actualizar el fichero widgets.py en la carpeta smart_selects, tras esto instalar django-smart-selects.
- django-command-extensions -> svn checkout http://django-command-extensions.googlecode.com/svn/trunk/ django-command-extensions.
- Imaging-1.1.7.tar.gz -> http://www.pythonware.com/products/pil/
- python-pygraphviz
- python-pygraphviz
Con esto tendremos todo lo necesario para llevar a cabo el proyecto que vamos a crear en este manual, que será una aplicación de inventario de software.
Para su instalación sobre debian lo haremos con apt-get install, salvo aquellos que nos tengamos que descargar de su propia web, y que normalmente se instalan o bien compilando o bien con el instalador de python (python setup.py install).
Una vez tengamos instalado todo el software, crearemos nuestra bbdd y el usuario necesario, por lo tanto nos conectaremos a nuestra bbdd mysql y lanzaremos las siguientes sentencias:
mysql> create database programas;
mysql> grant all on programas.* to 'programas'@'localhost' identified by 'programas' with grant option;
mysql> grant all on programas.* to 'programas'@'localhost.localdomain' identified by 'programas' with grant option;
mysql> grant all on programas.* to 'programas'@'localhost' identified by 'programas' with grant option;
mysql> grant all on programas.* to 'programas'@'localhost.localdomain' identified by 'programas' with grant option;
Con esto creamos una bbdd llamada programa, con un usuario y pass programa.
Ya tenemos todo listo para comenzar a crear nuestro primer proyecto en django.
Nos crearemos un directorio donde emplazar nuestro proyecto, por ejemplo:
mkdir /opt/djcode
Y nos situamos sobre este directorio. Una vez allí crearemos nuestro proyecto:
django-admin.py startproject misitio
Veamos qué ha ocurrido, si hacemos un listado del directorio /opt/djcode descubriremos un nuevo directorio llamado misitio, y si listamos éste a su vez, tendremos algo como esto:
__init__.py
manage.py
settings.py
urls.py
manage.py
settings.py
urls.py
Estos ficheros compondrán el esqueleto de nuestro proyecto. Estos archivos son los siguientes:
__init__.py: Un archivo requerido para que Python trate a este directorio como un paquete (i.e. un grupo de módulos).
manage.py: Una utilidad de línea de comandos que te deja interactuar con este proyecto de Django de varias formas.
settings.py: Opciones/con guraciones para este proyecto de Django.
urls.py: La declaración de las URL para este proyecto de Django; una tabla de contenidos de tu sitio hecho con Django.
__init__.py: Un archivo requerido para que Python trate a este directorio como un paquete (i.e. un grupo de módulos).
manage.py: Una utilidad de línea de comandos que te deja interactuar con este proyecto de Django de varias formas.
settings.py: Opciones/con guraciones para este proyecto de Django.
urls.py: La declaración de las URL para este proyecto de Django; una tabla de contenidos de tu sitio hecho con Django.
Veamos que hemos conseguido con esto, sin tocar ninguno de los fichero anteriores. Lanzaremos el servidor de desarrollos de django de la siguiente manera:
python manage.py runserver 192.168.48.129:8000
Lo que añadimos a continuación de runserver es la ip y puerto por el que queremos que se levante el servidor, y nos debe aparecer algo así:
Validating models...
0 errors found
Django version 1.3.1, using settings 'misitio.settings'
Development server is running at http://192.168.48.129:8000/
Quit the server with CONTROL-C.
0 errors found
Django version 1.3.1, using settings 'misitio.settings'
Development server is running at http://192.168.48.129:8000/
Quit the server with CONTROL-C.
Y si nos vamos a un navegador y probamos esta dirección, veremos un bonito mensaje de bienvenida.
Hasta aquí esta primera parte. En la segunda parte comenzaremos a ver cómo crear nuestros modelos y algo de la parte de administración de django, una verdadera joya.
Enlace a la 2ª partes: http://rafabono.blogspot.com.es/2012/06/curso-django-segunda-parte.html
Enlace a la 2ª partes: http://rafabono.blogspot.com.es/2012/06/curso-django-segunda-parte.html
Hola muy buenas, decirte que espero ancioso la segunda parte, me gustaria aprender mucho más y mejor Django. Un saludo y ánimo con ese blog
ResponderEliminar