<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>CLASE DE DISEÑO ORIENTADO A OBJETOS 05-07 by Mauricio Ilarrescape</title>
      <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a</link>
      <description></description>
      <language>en-us</language>
      <pubDate>2022-07-07 12:38:01 UTC</pubDate>
      <lastBuildDate>2023-09-09 02:29:05 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url>https://padlet.net/icons/png/1f697.png</url>
      </image>
      <item>
         <title>Archivos</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238938040</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 12:39:27 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238938040</guid>
      </item>
      <item>
         <title>Inicio del Servidor</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238938085</link>
         <description><![CDATA[<div>Nota:<br>Cuando Ya tenemos el entorno virtual activado, solamente tenemos que usar:</div><pre>python manage.py runserver</pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/740657394/53af72fff1463713f9933aee8a2109fb/image.png" />
         <pubDate>2022-07-07 12:39:33 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238938085</guid>
      </item>
      <item>
         <title>__Pycache__</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238940710</link>
         <description><![CDATA[<div>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.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 12:43:53 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238940710</guid>
      </item>
      <item>
         <title>__init__.py</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238944351</link>
         <description><![CDATA[<div>El archivo init.py especifica qué tiene que correr la primera vez que corremos Django.<br>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.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 12:49:40 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238944351</guid>
      </item>
      <item>
         <title>asgi.py</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238945963</link>
         <description><![CDATA[<div>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.&nbsp;</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 12:51:42 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238945963</guid>
      </item>
      <item>
         <title>settings.py</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238948018</link>
         <description><![CDATA[<div>Este archivo controla toda la configuración del proyecto.&nbsp; Algunas de las variables que contiene:</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 12:54:26 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238948018</guid>
      </item>
      <item>
         <title>BASE_DIR</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238949444</link>
         <description><![CDATA[<div>Determina el path o ruta donde se encuentra el directorio base de nuestro proyecto.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 12:56:44 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238949444</guid>
      </item>
      <item>
         <title>SECRET_KEY</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238957244</link>
         <description><![CDATA[<div>Se usa cuando tienen datos firmados que entran y salen del sitio web. Nunca se comparte la secret key con otros.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 13:09:01 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238957244</guid>
      </item>
      <item>
         <title>DEBUG</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238959621</link>
         <description><![CDATA[<div>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 <em>http://localhost:8000/123</em> en el navegador, veremos un error de Página no encontrada (404) <mark>¡Pero ojo!</mark><br>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.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 13:12:40 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238959621</guid>
      </item>
      <item>
         <title>INSTALLED_APPS</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238967553</link>
         <description><![CDATA[<div>Nos deja insertar diferentes piezas de código a nuestro proyecto.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 13:25:38 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238967553</guid>
      </item>
      <item>
         <title>MIDDLEWARE</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238968046</link>
         <description><![CDATA[<div>Se refiere a las funciones incorporadas de Django para procesar solicitudes/respuestas de aplicaciones, que incluyen autenticación, sesión y seguridad.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 13:26:28 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238968046</guid>
      </item>
      <item>
         <title>ROOT_URLCONF</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238969166</link>
         <description><![CDATA[<div>Especifica dónde están las url.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 13:28:07 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238969166</guid>
      </item>
      <item>
         <title>TEMPLATES</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238972293</link>
         <description><![CDATA[<div>Define la lista de directorios donde el motor tiene que buscar los archivos de origen de la plantilla y también la configuración.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 13:32:05 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238972293</guid>
      </item>
      <item>
         <title>AUTH_PASSWORD_VALIDATORS</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238974012</link>
         <description><![CDATA[<div>Nos deja especificar las validaciones que queremos en las contraseñas. Por ejemplo, una longitud mínima, los tipos de caracteres, etc.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 13:34:08 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238974012</guid>
      </item>
      <item>
         <title>urls.py</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238978151</link>
         <description><![CDATA[<div>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 <em>http://localhost:8000/123</em>, la solicitud ingresa a urls.py y se enruta a una página según las rutas especificadas ahí. <br>Cuando hacemos pasar un request pot <em>url.py</em>, el código va a tratar de hacer coincidir un objeto de la ruta que escribimos con<em> urlpatterns</em>.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 13:40:25 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238978151</guid>
      </item>
      <item>
         <title>wsgi</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238979211</link>
         <description><![CDATA[<div>Este archivo representa la interfaz de puerta de enlace del servidor web (WSGI) y ayuda a Django a servir nuestras páginas web.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 13:42:12 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238979211</guid>
      </item>
      <item>
         <title>manage.py</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238980443</link>
         <description><![CDATA[<div>El archivo nos ayuda a realizar operaciones administrativas. Por ejemplo, anteriormente lo usamos para correr el comando <em>python manage.py runserver</em>. 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: <em>python manage.py startapp.</em></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 13:43:57 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238980443</guid>
      </item>
      <item>
         <title>db.sqlite3</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238997322</link>
         <description><![CDATA[<div>Contiene nuestra base de datos. Por defecto, Django, trabaja con SQLite. </div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 14:10:04 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238997322</guid>
      </item>
      <item>
         <title>Para pausar el servidor</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238999963</link>
         <description><![CDATA[<div>Control + C dentro de la terminal.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 14:12:50 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2238999963</guid>
      </item>
      <item>
         <title>Crear una nueva app (Yo creé una app llamada movie)</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239003303</link>
         <description><![CDATA[<div>1 - Pausamos el servidor con <em>Control+C</em> en la Terminal.<br>2 - En la terminal escribimos: <em>python manage.py startapp movie</em></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 14:17:25 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239003303</guid>
      </item>
      <item>
         <title>Fijarse en los Directorios si se creó la carpeta.</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239004573</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/740657394/8a4e9bdeb8482527b0e0087b01cbb1f4/image.png" />
         <pubDate>2022-07-07 14:19:20 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239004573</guid>
      </item>
      <item>
         <title>Vamos a settings.py</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239009415</link>
         <description><![CDATA[<div>En la lista INSTALLED_APPS escribimos el nombre de nuestra nueva aplicación.<br><br></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/740657394/8e2f806f35fa3dd0f796f9a192512b2f/image.png" />
         <pubDate>2022-07-07 14:25:36 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239009415</guid>
      </item>
      <item>
         <title>Vamos a url.py</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239023231</link>
         <description><![CDATA[<div>Importamos las vistas de la carpeta movie con:</div><pre><em>from movie import views as movieViews.</em></pre><div>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<em> localhost:8000/</em>.</div><pre><em>path('', movieViews.home) </em></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/740657394/05aeba9a85d1037b8dbeee8816c957ab/image.png" />
         <pubDate>2022-07-07 14:46:41 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239023231</guid>
      </item>
      <item>
         <title>Mirar el Terminal</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239028228</link>
         <description><![CDATA[<div>Fíjense que ahora el terminal les muestra un mensaje de error:</div><div>Dice que 'movie.views' no tiene el atributo 'home'<br><br></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/740657394/4a2f9b94f36120423072edc84dc045b0/image.png" />
         <pubDate>2022-07-07 14:54:35 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239028228</guid>
      </item>
      <item>
         <title>Vamos a movie/views.py</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239033350</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/740657394/f59338e7530e0c499e700e50c5fff728/image.png" />
         <pubDate>2022-07-07 15:02:31 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239033350</guid>
      </item>
      <item>
         <title>Para agregar el método home creamos la función de la siguiente manera:</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239035668</link>
         <description><![CDATA[<div>Acabamos de crear una función <em>'home'</em> 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.<br>PARA PROBAR EL MENSAJE DE LA PÁGINA DE INICIO, SE VAN A: <em><mark>localhost:8000/home</mark></em></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/740657394/53230ab1df49d73b4fbe42e835552ec1/image.png" />
         <pubDate>2022-07-07 15:06:23 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239035668</guid>
      </item>
      <item>
         <title>Ahora vamos a crear una página &quot;Acerca de&quot;</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239043391</link>
         <description><![CDATA[<div>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.<br>Nos vamos a <em>/PROYECTO_DJANGO/core/urls.py</em> y escribimos la siguiente línea de código:</div><pre>path('about/'.movieViews.aobut),</pre><div><br><br></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/740657394/e75c9fde99e467fbb7f18a901e86091f/image.png" />
         <pubDate>2022-07-07 15:19:06 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239043391</guid>
      </item>
      <item>
         <title>Fíjense que tenemos el mismo error que antes.</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239048393</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/740657394/1267073c70c31bfa9dd5618f8eb48795/image.png" />
         <pubDate>2022-07-07 15:27:10 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239048393</guid>
      </item>
      <item>
         <title>Tenemos que volver a crear otro método en /movie/views.py.</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239049686</link>
         <description><![CDATA[<div>Después de escribir el código, vamos al navegador y escribimos <em><mark>localhost:8000/about</mark></em></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/740657394/052aa7cc89919b14892f02335c5a4d45/image.png" />
         <pubDate>2022-07-07 15:29:28 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239049686</guid>
      </item>
      <item>
         <title>Ahora queremos crear un template HTML completo.</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239060472</link>
         <description><![CDATA[<div>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. </div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/740657394/fc85829a8301957ab304d25d1c5b655a/image.png" />
         <pubDate>2022-07-07 15:49:02 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239060472</guid>
      </item>
      <item>
         <title>Creando home.html</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239062645</link>
         <description><![CDATA[<div>En <em>/movie/templates/</em> vamos&nbsp; a&nbsp; 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:<br><br></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/740657394/377aea5dd2a878348c500d205a509fa8/image.png" />
         <pubDate>2022-07-07 15:53:30 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239062645</guid>
      </item>
      <item>
         <title>Volvemos a movie/views.py</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239066640</link>
         <description><![CDATA[<div>En <em>movie/views.py </em>tenemos que usar la función <em>render </em>para que se muestre la web html.<br>Cambiamos:</div><pre>return HttpResponse('&lt;h1&gt;Hola a todos&lt;/h1&gt;')</pre><div>Por:</div><pre>return render (request, 'home.html')</pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/740657394/18ad3dd89e5d27aeb232a79b02d244d1/image.png" />
         <pubDate>2022-07-07 16:00:14 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239066640</guid>
      </item>
      <item>
         <title>Render Vs HttpResponse</title>
         <author>ilarrescapem</author>
         <link>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239069633</link>
         <description><![CDATA[<div>A nivel algoritmo, <em>render</em> Es una función que se usa para construir con una plantilla convenientemente <em>httpresponse</em>.</div><div>En cambio, <em>httpresponse</em> es un objeto, ya que describe los datos del cliente.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-07 16:04:35 UTC</pubDate>
         <guid>https://padlet.com/ilarrescapem/cfphz6eio2sln16a/wish/2239069633</guid>
      </item>
   </channel>
</rss>
