2 Configuración inicial
- Objetivos
- Configurar el entorno para programar en proyectos Django
- Uso de la línea de comandos para instalar:
- Django 4.1
- Python 3.10
- Git
- Editor de texto
2.1 La línea de comandos
- Konsole, Tmux, zsh, kitty
- cd, cd .., ls, pwd, mkdir, touch
- Práctica:
- Recorrer los directorios del sistema, hacer una lista de ellos
- Mostrar el directorio de trabajo
- Crear un nuevo directorio y crear un fichero
index.html
en él - Listar el fichero: formato largo, ficheros ocultos
- Dónde aprender
- OpenWebinars
- Command Line Crash Course
- CodeAcademy's Course on the Command Line
2.2 Instalar Python 3
-
Python Path
-
Python path es la lista de directorios del sistema en donde Python buscará cuando se use la sentencia
import
de Python. -
Por ejemplo, supongamos que el Python path tiene el valor
['', '/usr/lib/python2.4/site-packages', '/home/username/djcode/']
-
Si se ejecuta el código Python
from foo import bar
, Python, en primer lugar, se va a buscar el módulofoo.py
en el directorio actual (la primera entrada en el Python path, una cadena de caracteres vacía, significa "el directorio actual"). Si ese archivo no existe, Python va a buscar el módulo en/usr/lib/python2.4/site-packages/foo.py
. Si ese archivo no existe, entonces se probará en/home/username/djcode/foo.py
. Finalmente, si ese archivo no existe, Python lanzará unImportError
. -
Si se quiere ver el valor del Python path, abrir un intérprete interactivo de Python y escribir:
>>> from sys import path
>>> print(path)
- Generalmente no hay que preocuparse de asignarle valores a "Python Path" — Python y Django se encargan automáticamente de hacer esas cosas entre bastidores. (Si se quiere curiosear, establecer el Python path es una de las cosas que hace el archivo
manage.py
).
2.3 Entornos Virtuales
- Ver: Entornos Virtuales
2.4 Instalación de Django
$ cd ~/Escritorio
$ mkdir project
$ cd project
$ poetry init
$ poetry install
$ poetry add django
$ poetry shell
- Advertencia: No nombrar el directorio del proyecto igual que alguno de los paquetes que se pretenden instalar.
- Crear nuevo proyecto
test_project
. No olvidar el "." al final.
$ django-admin startproject test_project .
- Si no se usa el "." aparecerá la siguiente estructura de directorios que es molesta por, como se puede ver, lo redundante del directorio
test_project
:
└──test_project
├── manage.py
└── test_project
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
- Arrancando el servidor
$ python manage.py runserver
- Escribir en el navegador la url
http://127.0.0.1:8000/
óhttp://localhost:8000
<Ctrl>-c
para pararexit
para salir del entorno virtual
2.5.1. Cambiando la IP de escucha y el puerto
De manera predeterminada, el comando runserver
inicia el servidor de desarrollo en el puerto 8000 de la IP local.
Si se desea cambiar el puerto del servidor, hay que pasarlo como un argumento de línea de comandos. Por ejemplo, este comando inicia el servidor en el puerto 8080:
$ python manage.py runserver 8080
Si se desea cambiar la IP del servidor, ejecutar el comando con la IP seguida del puerto. Por ejemplo, para escuchar todas las IP públicas disponibles (lo cual es útil si se está ejecutando Vagrant o se desea mostrar la web en otras computadoras en la red), usar:
$ python manage.py runserver 0:8000
0
es un atajo para 0.0.0.0
. Los documentos completos para el servidor de desarrollo se pueden encontrar en la referencia del servidor de ejecución.
Si se ejecuta este script como un usuario sin privilegios (recomendado), es posible que no se tenga acceso para iniciar en un puerto con un número bajo (puerto 80). Los números de puerto bajos están reservados para el superusuario (root).
2.5. Instalar Git
$ sudo apt install git
$ git config --global user.name "<Nombre>"
$ git config --globar user.email "<Correo electrónico>"
2.6. Editores de texto
- Emacs
- Vim ó Neovim
- Code-OSS ó VSCodium
- PyCharm
2.7. Borrar el proyecto
El proyecto no es más que una colección de ficheros bajo el directorio que hemos creado más el correspondiente entorno virtual que se ubicará, a menos que se especifique lo contrario, en el directorio ~/.cache/pypoetry/virtualenvs/<directorio-código>
. Si se borra el proyecto, aún quedará pendiente borrar el entorno virtual que, si bien se puede hacer igualmente a mano, se dispone del comando poetry env remove
para hacerlo desde el directorio del proyecto.
$ poetry env remove <directorio del proyecto>
Una vez elminado el entorno virtual podemos proceder a borrar el proyecto, desde su directorio padre, usando el málefico comando:
$ rm -rf <directorio del proyecto>
Las advertencias nunca serán suficientes para poner de manifiesto que ejecutar este comando de forma inadecuada (con derechos de administrador, utilizando wildcards, ubicado en el directorio incorrecto...) se podría acabar con el sistema al completo.