# data[].attributes.body
A nivel algoritmo, render Es una función que se usa para construir con una plantilla convenientemente httpresponse.

En cambio, httpresponse es un objeto, ya que describe los datos del cliente.

# data[].attributes.body
En movie/views.py tenemos que usar la función render para que se muestre la web html.
Cambiamos:

return HttpResponse('<h1>Hola a todos</h1>')

Por:

return render (request, 'home.html')

# data[].attributes.body
En /movie/templates/ vamos  a  crear un nuevo archivo, home.html. Esta va a ser la página HTML completa de inicio. Por ahora, vamos a codificar una web estandard:

# data[].attributes.headline
Ahora queremos crear un template HTML completo.

# data[].attributes.subject
Ahora queremos crear un template HTML completo.

# data[].attributes.body
En la carpeta movies (o como sea que se llamen la aplicación que están haciendo), creamos otra carpeta que se va a llamar templates.

# data[].attributes.headline
Tenemos que volver a crear otro método en /movie/views.py.

# data[].attributes.subject
Tenemos que volver a crear otro método en /movie/views.py.

# data[].attributes.body
Después de escribir el código, vamos al navegador y escribimos localhost:8000/about

# data[].attributes.headline
Fíjense que tenemos el mismo error que antes.

# data[].attributes.subject
Fíjense que tenemos el mismo error que antes.

# data[].attributes.headline
Ahora vamos a crear una página "Acerca de"

# data[].attributes.subject
Ahora vamos a crear una página "Acerca de"

# data[].attributes.body
Para crear una ruta personalizada de la nueva página, el procedimiento es casi el mismo que para la página de inicio. Pero vamos a tener que colocarle nombre de ruta en la cadena de caracteres del path.
Nos vamos a /PROYECTO_DJANGO/core/urls.py y escribimos la siguiente línea de código:

path('about/'.movieViews.aobut),

# data[].attributes.headline
Para agregar el método home creamos la función de la siguiente manera:

# data[].attributes.subject
Para agregar el método home creamos la función de la siguiente manera:

# data[].attributes.body
Acabamos de crear una función 'home' que devuelve una etiqueta HTML en una respuesta HTTP. Importamos el método HttpResponse incorporado en Python para devolver un objeto de respuesta al usuario.
PARA PROBAR EL MENSAJE DE LA PÁGINA DE INICIO, SE VAN A: localhost:8000/home

# data[].attributes.body
Fíjense que ahora el terminal les muestra un mensaje de error:

Dice que 'movie.views' no tiene el atributo 'home'

# data[].attributes.body
Importamos las vistas de la carpeta movie con:

from movie import views as movieViews.

Agregamos un nuevo objeto de ruta con el path de dos comillas simples. Cuando colocamos dos comillas simples, estamos especificando que la página va a ser direccionada a la página de inicio localhost:8000/.

path('', movieViews.home)

# data[].attributes.body
En la lista INSTALLED_APPS escribimos el nombre de nuestra nueva aplicación.

# data[].attributes.headline
Fijarse en los Directorios si se creó la carpeta.

# data[].attributes.subject
Fijarse en los Directorios si se creó la carpeta.

# data[].attributes.headline
Crear una nueva app (Yo creé una app llamada movie)

# data[].attributes.subject
Crear una nueva app (Yo creé una app llamada movie)

# data[].attributes.body
1 - Pausamos el servidor con Control+C en la Terminal.
2 - En la terminal escribimos: python manage.py startapp movie

# data[].attributes.body
Control + C dentro de la terminal.

# data[].attributes.body
Contiene nuestra base de datos. Por defecto, Django, trabaja con SQLite.

# data[].attributes.body
El archivo nos ayuda a realizar operaciones administrativas. Por ejemplo, anteriormente lo usamos para correr el comando python manage.py runserver. El propósito del comando era iniciar el servidor web local. Pero también se pueden implementar más funciones administrativas, como una para crear una nueva aplicación: python manage.py startapp.

# data[].attributes.body
Este archivo representa la interfaz de puerta de enlace del servidor web (WSGI) y ayuda a Django a servir nuestras páginas web.

# data[].attributes.body
Este archivo le dice a Django qué páginas mostrar en respuesta a una solicitud de navegador o URL. Por ejemplo, cuando alguien ingresa la URL http://localhost:8000/123, la solicitud ingresa a urls.py y se enruta a una página según las rutas especificadas ahí.
Cuando hacemos pasar un request pot url.py, el código va a tratar de hacer coincidir un objeto de la ruta que escribimos con urlpatterns.

# data[].attributes.body
Nos deja especificar las validaciones que queremos en las contraseñas. Por ejemplo, una longitud mínima, los tipos de caracteres, etc.

# data[].attributes.body
Define la lista de directorios donde el motor tiene que buscar los archivos de origen de la plantilla y también la configuración.

# data[].attributes.body
Especifica dónde están las url.

# data[].attributes.body
Se refiere a las funciones incorporadas de Django para procesar solicitudes/respuestas de aplicaciones, que incluyen autenticación, sesión y seguridad.

# data[].attributes.body
Nos deja insertar diferentes piezas de código a nuestro proyecto.

# data[].attributes.body
Nuestro sitio puede ejecutarse en modo de depuración o no. En el modo de depuración, obtenemos información detallada sobre los errores. Por ejemplo, si intentamos ejecutar http://localhost:8000/123 en el navegador, veremos un error de Página no encontrada (404) ¡Pero ojo!
En producción no tenemos que compartir la información de Debug porque tiene datos importantes de nuestro servidor. Después vamos a ver cómo configurar esto.

# data[].attributes.body
Se usa cuando tienen datos firmados que entran y salen del sitio web. Nunca se comparte la secret key con otros.

# data[].attributes.body
Determina el path o ruta donde se encuentra el directorio base de nuestro proyecto.

# data[].attributes.body
Este archivo controla toda la configuración del proyecto.  Algunas de las variables que contiene:

# data[].attributes.body
Es una sigla y significa Asynchronous Server Gateway Interface (Interfaz de puerta de enlace de servidor asíncrono). Un proceso asíncrono es un proceso o una función que ejecuta una tarea "en segundo plano" sin que el usuario tenga que esperar a que finalice la tarea.

# data[].attributes.body
El archivo init.py especifica qué tiene que correr la primera vez que corremos Django.
Sirve para que Python identifique a la carpeta que lo contiene como un directorio de paquetes de Python. Así vamos a poder importar los módulos que contiene esa carpeta.

# data[].attributes.body
El directorio Pycache lo que hace es almacenar un archvo de bytecodes compilado cada vez que generamos nuestro proyecto. Pueden ignorarla sin problemas, ya que el objetivo es que nuestra aplicación corra desde un estado anterior y acelere un poco su ejecución.

# data[].attributes.body
Nota:
Cuando Ya tenemos el entorno virtual activado, solamente tenemos que usar:

python manage.py runserver