Diferencias entre las revisiones 1 y 8 (abarca 7 versiones)
Versión 1 con fecha 2020-10-06 16:24:51
Tamaño: 140
Comentario:
Versión 8 con fecha 2020-10-06 17:44:43
Tamaño: 3780
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 2: Línea 2:
Línea 6: Línea 5:
== Instalación: ==
=== Preparando el entorno de trabajo ===
* Instalar módulo para crear entornos virtuales en Python (3):
Línea 7: Línea 9:
== Instalación: ==
=== Preparando el entorno virtual ===
{{{
# apt install python3-venv
}}}
* Creamos una carpeta para crear nuestros proyectos Django.

{{{
$ mkdir django
$ cd django
}}}
* Creamos un entorno virtual para Python 3.8 (dependerá la versión que tengan instalada):

{{{
$ python3 -m venv venv3.8
}}}
* Activamos el entorno virtual;

{{{
$ source venv3.8/bin/activate
}}}
Para desactivarlo:

{{{
$ deactivate
}}}
* Utilizamos '''pip''' para gestionar los módulos en el entorno virtual:

{{{
$ pip list

Package Version
------------- -------
pip 20.1.1
pkg-resources 0.0.0
setuptools 44.0.0
}}}
=== Django ===
* Instalamos '''Django''' (última versión por defecto), instalará también algunas dependencias:

{{{
$ pip install django

Collecting django
  Downloading Django-3.1.2-py3-none-any.whl (7.8 MB)
     |████████████████████████████████| 7.8 MB 1.5 MB/s
Collecting sqlparse>=0.2.2
  Using cached sqlparse-0.3.1-py2.py3-none-any.whl (40 kB)
Collecting pytz
  Downloading pytz-2020.1-py2.py3-none-any.whl (510 kB)
     |████████████████████████████████| 510 kB 13.0 MB/s
Collecting asgiref~=3.2.10
  Using cached asgiref-3.2.10-py3-none-any.whl (19 kB)
Installing collected packages: sqlparse, pytz, asgiref, django
Successfully installed asgiref-3.2.10 django-3.1.2 pytz-2020.1 sqlparse-0.3.1
}}}
* Nos quedará la siguiente lista de módulos instalados:

{{{
$ pip list

Package Version
------------- -------
asgiref 3.2.10
Django 3.1.2
pip 20.1.1
pkg-resources 0.0.0
pytz 2020.1
setuptools 44.0.0
sqlparse 0.3.1
}}}
* Si quisieramos instalar otro entorno virtual, ya sea en la misma máquina o en otra, podemos exportar la lista de módulos y sus versiones para recrear el entorno. Con la opción '''freeze''' de pip podemos obtener la lista y redirigir a un archivo, el que luego podemos utilizar para instalar los módulos en el nuevo entorno:

{{{
// guardar lista de módulos
$ pip freeze > requirements.txt

// instalar lista.
$ pip install -r requirements.txt
}}}
= Proyecto1 =
Este ejemplo muestra el paso a paso (con Django ya instalado) la evolución de un primer proyecto.

== Creación del proyecto ==
Al ubicarnos en la carpeta '''django''' para los proyectos antes creada tenemos hasta ahora:

{{{
$ ls -l
-rw-r--r-- 1 amvaldesj amvaldesj 59 Oct 6 09:35 requirements.txt
drwxr-xr-x 6 amvaldesj amvaldesj 4096 Oct 6 09:30 venv3.8
}}}
Creamos entonces en este nivel el proyecto que nombraremos '''proyecto1''':

{{{
$ django-admin startproject proyecto1
}}}
Y la carpeta de trabajo nos queda:

{{{
$ ls -l
drwxr-xr-x 3 amvaldesj amvaldesj 4096 Oct 6 09:36 proyecto1
-rw-r--r-- 1 amvaldesj amvaldesj 59 Oct 6 09:35 requirements.txt
drwxr-xr-x 6 amvaldesj amvaldesj 4096 Oct 6 09:30 venv3.8
}}}
Ingresamos a la carpeta '''proyecto1''' para trabajarlo:

{{{
$ cd proyecto1
$ ls -l
-rwxr-xr-x 1 amvaldesj amvaldesj 665 Oct 6 09:36 manage.py
drwxr-xr-x 2 amvaldesj amvaldesj 4096 Oct 6 09:36 proyecto1
}}}
Podemos probar como se ve hasta ahora ejecutando el script '''manager.py''', el cual tiene múltiples opciones y una de ellas es levantar un servicio web local:

{{{
$ python manage.py runserver
}}}

Y abrimos en una navegador web la url '''http://127.0.0.1:8000/'''', debería aparecer una página de bienvenida y un cohete despegando... :D

== Uso de Base de Datos ==

Primeros pasos con Django

Introducción:

Instalación:

Preparando el entorno de trabajo

* Instalar módulo para crear entornos virtuales en Python (3):

# apt install python3-venv

* Creamos una carpeta para crear nuestros proyectos Django.

$ mkdir django
$ cd django

* Creamos un entorno virtual para Python 3.8 (dependerá la versión que tengan instalada):

$ python3 -m venv venv3.8

* Activamos el entorno virtual;

$ source venv3.8/bin/activate

Para desactivarlo:

$ deactivate

* Utilizamos pip para gestionar los módulos en el entorno virtual:

$ pip list

Package       Version
------------- -------
pip           20.1.1
pkg-resources 0.0.0
setuptools    44.0.0

Django

* Instalamos Django (última versión por defecto), instalará también algunas dependencias:

$ pip install django

Collecting django
  Downloading Django-3.1.2-py3-none-any.whl (7.8 MB)
     |████████████████████████████████| 7.8 MB 1.5 MB/s
Collecting sqlparse>=0.2.2
  Using cached sqlparse-0.3.1-py2.py3-none-any.whl (40 kB)
Collecting pytz
  Downloading pytz-2020.1-py2.py3-none-any.whl (510 kB)
     |████████████████████████████████| 510 kB 13.0 MB/s
Collecting asgiref~=3.2.10
  Using cached asgiref-3.2.10-py3-none-any.whl (19 kB)
Installing collected packages: sqlparse, pytz, asgiref, django
Successfully installed asgiref-3.2.10 django-3.1.2 pytz-2020.1 sqlparse-0.3.1

* Nos quedará la siguiente lista de módulos instalados:

$ pip list

Package       Version
------------- -------
asgiref       3.2.10
Django        3.1.2
pip           20.1.1
pkg-resources 0.0.0
pytz          2020.1
setuptools    44.0.0
sqlparse      0.3.1

* Si quisieramos instalar otro entorno virtual, ya sea en la misma máquina o en otra, podemos exportar la lista de módulos y sus versiones para recrear el entorno. Con la opción freeze de pip podemos obtener la lista y redirigir a un archivo, el que luego podemos utilizar para instalar los módulos en el nuevo entorno:

// guardar lista de módulos
$ pip freeze > requirements.txt

// instalar lista.
$ pip install -r requirements.txt

Proyecto1

Este ejemplo muestra el paso a paso (con Django ya instalado) la evolución de un primer proyecto.

Creación del proyecto

Al ubicarnos en la carpeta django para los proyectos antes creada tenemos hasta ahora:

$ ls -l
-rw-r--r-- 1 amvaldesj amvaldesj   59 Oct  6 09:35 requirements.txt
drwxr-xr-x 6 amvaldesj amvaldesj 4096 Oct  6 09:30 venv3.8

Creamos entonces en este nivel el proyecto que nombraremos proyecto1:

$ django-admin startproject proyecto1

Y la carpeta de trabajo nos queda:

$ ls -l
drwxr-xr-x 3 amvaldesj amvaldesj 4096 Oct  6 09:36 proyecto1
-rw-r--r-- 1 amvaldesj amvaldesj   59 Oct  6 09:35 requirements.txt
drwxr-xr-x 6 amvaldesj amvaldesj 4096 Oct  6 09:30 venv3.8

Ingresamos a la carpeta proyecto1 para trabajarlo:

$ cd proyecto1
$ ls -l
-rwxr-xr-x 1 amvaldesj amvaldesj  665 Oct  6 09:36 manage.py
drwxr-xr-x 2 amvaldesj amvaldesj 4096 Oct  6 09:36 proyecto1

Podemos probar como se ve hasta ahora ejecutando el script manager.py, el cual tiene múltiples opciones y una de ellas es levantar un servicio web local:

$ python manage.py runserver

Y abrimos en una navegador web la url http://127.0.0.1:8000/', debería aparecer una página de bienvenida y un cohete despegando... :D

Uso de Base de Datos

django (última edición 2021-06-03 20:46:27 efectuada por AlejandroValdes)