martes, 17 de noviembre de 2015

Mi primer proyecto en #Django

Todo indica que es el momento de comenzar a jugar con Django y las cosas que nos tiene preparado, dijimos que vamos a comenzar a trabajar en un entorno de tipo LAMP donde luego vamos a mostrar como desplegar una app completa de Django. Por el momento vamos por el principio.


Les comentaba que framework como Symfony2, RoR e incluso Django tienen funcionalidades de generador de código por medio del uso de sus comandos.

La primera organización en Django es la creación de un proyecto, es por ello que vamos a buscar algún directorio de trabajo para crear el proyecto.

Para obtener ayuda, vimos que lo podemos hacer de la siguiente forma:

$ django-admin help startproject

usage: django-admin startproject [-h] [--version] [-v {0,1,2,3}]
                                 [--settings SETTINGS]
                                 [--pythonpath PYTHONPATH] [--traceback]
                                 [--no-color] [--template TEMPLATE]
                                 [--extension EXTENSIONS] [--name FILES]
                                 name [directory]

Creates a Django project directory structure for the given project name in the
current directory or optionally in the given directory.

positional arguments:
  name                  Name of the application or project.
  directory             Optional destination directory

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -v {0,1,2,3}, --verbosity {0,1,2,3}
                        Verbosity level; 0=minimal output, 1=normal output,
                        2=verbose output, 3=very verbose output
  --settings SETTINGS   The Python path to a settings module, e.g.
                        "myproject.settings.main". If this isn't provided, the
                        DJANGO_SETTINGS_MODULE environment variable will be
                        used.
  --pythonpath PYTHONPATH
                        A directory to add to the Python path, e.g.
                        "/home/djangoprojects/myproject".
  --traceback           Raise on CommandError exceptions
  --no-color            Don't colorize the command output.
  --template TEMPLATE   The path or URL to load the template from.
  --extension EXTENSIONS, -e EXTENSIONS
                        The file extension(s) to render (default: "py").
                        Separate multiple extensions with commas, or use -e
                        multiple times.
  --name FILES, -n FILES
                        The file name(s) to render. Separate multiple
                        extensions with commas, or use -n multiple times.

De esta forma creamos nuestro primer proyecto con el nombre de elcodigok

$ django-admin startproject elcodigok -v 3

Rendering project template files with extensions: .py
Rendering project template files with filenames: 
Creating /home/dmaldonado/Proyectos/Django/elcodigok/manage.py
Creating /home/dmaldonado/Proyectos/Django/elcodigok/elcodigok/wsgi.py
Creating /home/dmaldonado/Proyectos/Django/elcodigok/elcodigok/settings.py
Creating /home/dmaldonado/Proyectos/Django/elcodigok/elcodigok/__init__.py
Creating /home/dmaldonado/Proyectos/Django/elcodigok/elcodigok/urls.py

Utilizamos el flag -v para activar el mayor modo verbose para conocer que es lo que está generando. Es así que crea un directorio con el nombre de nuestro proyecto y en el interior el siguiente arbol de directorio.

elcodigok
├───manage.py
└───elcodidok
        settings.py
        urls.py
        wsgi.py
        __init__.py

Anatomía de un proyecto en Django


  • manage.py es un script que ayuda con la administración del sitio. Con ello podremos iniciar un servidor web en nuestro ordenador sin necesidad de instalar nada más, entre otras cosas.
  • El archivo settings.py contiene la configuración de tu sitio web.
  • El archivo urls.py contiene una lista de los patrones utilizados por urlresolver.
  • Ignoremos los otros archivos por ahora - no los cambiaremos. ¡Lo único que debes recordar es no borrarlos por accidente!
Damos un paso más? gracias a la ayuda de manage.py podemos ejecutar nuestro servidor para desde el primer momento jugar con un servidor y esto de la siguiente manera:

$ ./manage.py runserver

Desde un navegador web tal y como o indica la salida del comando anterior podemos ingresar a la dirección http://127.0.0.1:8000/


Saludos!

Entradas populares