<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Axel Garcia</title>
    <description>The latest articles on DEV Community by Axel Garcia (@pacisauctor).</description>
    <link>https://dev.to/pacisauctor</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F365535%2F726b914c-4a93-48f5-90a3-7e17ceb09a0f.jpg</url>
      <title>DEV Community: Axel Garcia</title>
      <link>https://dev.to/pacisauctor</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pacisauctor"/>
    <language>en</language>
    <item>
      <title>ORM en Django</title>
      <dc:creator>Axel Garcia</dc:creator>
      <pubDate>Fri, 12 Nov 2021 20:47:08 +0000</pubDate>
      <link>https://dev.to/pacisauctor/orm-en-django-d4b</link>
      <guid>https://dev.to/pacisauctor/orm-en-django-d4b</guid>
      <description>&lt;p&gt;Una vez entendiendo la manera de trabajar de django con respecto a los templates, views y urls, nos vemos en la necesidad de entender el trabajo que involucra la parte de los datos, la capa del modelado, y en django, se trabaja bajo la lógica del ORM.&lt;/p&gt;

&lt;p&gt;Si aún no comprendes que es ORM en si, te aconsejaría leer  &lt;a href="https://codigofacilito.com/articulos/orm-explicacion"&gt;este artículo (click acá)&lt;/a&gt; antes de seguir con esta lectura.&lt;/p&gt;

&lt;p&gt;Para entender como se trabajan las ORM en Django crearemos un ejemplo con tres clases: Author, Book y Reader.&lt;/p&gt;

&lt;p&gt;En nuestro archivo models.py de nuestra app books, tenemos el siguiente contenido:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;django.db&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;models&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Author&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Model&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;first_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CharField&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;verbose_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Nombres"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;max_length&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;last_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CharField&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;verbose_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Apellidos"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;max_length&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;__str__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;first_name&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;" "&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;last_name&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Book&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Model&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CharField&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;verbose_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Nombre del libro"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;max_length&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;author&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ForeignKey&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Author&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;related_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"books"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;verbose_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Autor"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;on_delete&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CASCADE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;price&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FloatField&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;verbose_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Precio"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;preview&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FileField&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;upload_to&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"books/"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;verbose_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Adjunto del libro"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;__str__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Reader&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Model&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;first_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CharField&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;verbose_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Nombres"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;max_length&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;last_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CharField&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;verbose_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Apellidos"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;max_length&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;readed_books&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ManyToManyField&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Book&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;related_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"readers"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;__str__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;first_name&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;" "&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;last_name&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En este punto, tenemos varias cosas que ya manejamos, pero procederé para refrescar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;models.CharField, models.FloatField, models.FileField&lt;/em&gt; : funciones que se encargan de asignar un tipo de dato a un atributo de la clase (que se convertirá en una columna en la base de datos), la mayoría de ellos reciben parámetros como verbose_name, max_length, upload_to, que se encargan de cambiar las características de este atributo.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;models.ForeignKey, models.ManyToMany&lt;/em&gt;: en ORM existen varias maneras de relacionar entre las clases: 1 a 1, 1 a muchos y de muchos a muchos, cuando se ocupan estas funciones solo escribimos la relación que tendrán, comúnmente se agrega un related_name, que será clave para las llamadas en ambos sentido.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Como la base de datos estaba con datos, se limpió y se hizo make migrations y migrate.&lt;/p&gt;

&lt;p&gt;Una vez hecho esto, procederemos a trabajar con las ORM, todo esto lo haremos en la shell de django:&lt;/p&gt;

&lt;h2&gt;
  
  
  Creación de objetos.
&lt;/h2&gt;

&lt;p&gt;Tenemos dos maneras de crear objetos, la primera manera, se crea el objeto y luego se guarda en la base de datos, y la otra manera es crear el objeto en la base de datos directamente.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; from books.models import Author
&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; new_author &lt;span class="o"&gt;=&lt;/span&gt; Author&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;first_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Axel"&lt;/span&gt;,last_name&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"García"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; new_author.save&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="c"&gt;# Primera manera&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; Author.objects.create&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;first_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Fulano"&lt;/span&gt;,last_name&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Del Rosario"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="c"&gt;# segunda manera&lt;/span&gt;
&amp;lt;Author: Fulano Del Rosario&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para la creación de los primeros libros, usaremos la variable new_author que actualmente guarda el autor Axel García.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; from books.models import Book
&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; new_book &lt;span class="o"&gt;=&lt;/span&gt; Book&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Primero"&lt;/span&gt;, &lt;span class="nv"&gt;author&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;new_author, &lt;span class="nv"&gt;price&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;120, &lt;span class="nv"&gt;preview&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"google.com"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; new_book.save&lt;span class="o"&gt;()&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; new_book2 &lt;span class="o"&gt;=&lt;/span&gt; Book&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Segundo"&lt;/span&gt;, &lt;span class="nv"&gt;author&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;new_author, &lt;span class="nv"&gt;price&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;120, &lt;span class="nv"&gt;preview&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"google.com"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; new_book2.save&lt;span class="o"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Y por último, agregaremos los primeros lectores.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; from books.models import Reader
&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; new_reader &lt;span class="o"&gt;=&lt;/span&gt; Reader&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;first_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Santiago"&lt;/span&gt;, &lt;span class="nv"&gt;last_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Matamoros"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; new_reader.save&lt;span class="o"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En el caso de los libros, rellenar el autor del libro fue fácil porque solo debes de pasar el objeto, en caso de las relaciones de muchos a muchos, debes tratarlos como una colección, para este ejemplo, se agregaran como "readed_books", los dos libros creados, de la siguiente manera:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; new_reader.readed_books.add&lt;span class="o"&gt;(&lt;/span&gt;new_book&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; new_reader.readed_books.add&lt;span class="o"&gt;(&lt;/span&gt;new_book2&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para confirmar que esto se realice exitosamente, podemos inspeccionar lo que tenemos en readed_books, pero, como dije, debemos de tratarlo como una colección:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; new_reader.readed_books.all&lt;span class="o"&gt;()&lt;/span&gt;
&amp;lt;QuerySet &lt;span class="o"&gt;[&lt;/span&gt;&amp;lt;Book: Primero&amp;gt;, &amp;lt;Book: Segundo&amp;gt;]&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;De esta manera podemos trabajar las relacionas con las ORM, este ejemplo es algo rápido, así que cualquier comentario para mejorarlo o agregar más cosas que sean necesarias, estoy pendiente.&lt;/p&gt;

&lt;p&gt;Fuentes: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://docs.djangoproject.com/en/3.2/topics/db/models/"&gt;https://docs.djangoproject.com/en/3.2/topics/db/models/&lt;/a&gt;
Código fuente:&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/pacisauctor/biblio"&gt;https://github.com/pacisauctor/biblio&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>django</category>
      <category>python</category>
      <category>orm</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Github Pages - Primeros pasos.</title>
      <dc:creator>Axel Garcia</dc:creator>
      <pubDate>Wed, 14 Apr 2021 03:07:54 +0000</pubDate>
      <link>https://dev.to/pacisauctor/github-pages-primeros-pasos-14n7</link>
      <guid>https://dev.to/pacisauctor/github-pages-primeros-pasos-14n7</guid>
      <description>&lt;h2&gt;
  
  
  ¿Qué es github pages?
&lt;/h2&gt;

&lt;p&gt;Bueno, prácticamente es una herramienta que me proporciona github para poder mostrar mi página web por medio de una url, por el momento he probado aplicaciones React (sin consultas a api's), y páginas estáticas (solo html, css y js), así que esto no servirá para aplicaciones que tengan backend.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Qué debo de hacer?
&lt;/h2&gt;

&lt;p&gt;Lo lógico es que tengo que tener un repositorio, para los que no han utilizado github, y no tienen idea de lo qué es y como crear un repositorio, pueden informarse &lt;a href="https://www.atlassian.com/es/git/tutorials/what-is-git"&gt;aquí&lt;/a&gt; y &lt;a href="https://www.atlassian.com/es/git/tutorials/setting-up-a-repository"&gt;acá&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Cómo usar github pages?
&lt;/h2&gt;

&lt;p&gt;Una vez creado un repositorio en github,tendrás que tener un archivo &lt;em&gt;index.html&lt;/em&gt;. Se verá algo así:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uGrlvZYh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/attr49q1tnbp5554ik5m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uGrlvZYh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/attr49q1tnbp5554ik5m.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Posteriormente, tendrán que ir a la opción &lt;em&gt;settings&lt;/em&gt; y luego aparecerá este menú en su parte izquierda:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Hsa195HF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/coiqgdd0cdfvm4un0rpx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Hsa195HF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/coiqgdd0cdfvm4un0rpx.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Le dan click en Pages y luego cambien las opciones de &lt;em&gt;sources&lt;/em&gt; de tal manera que tengan lo siguiente:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NIL3Ba1I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hobfkej90f8ntzy0ncye.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NIL3Ba1I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hobfkej90f8ntzy0ncye.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Y al recargar, tendrán en esa ventana, el link para acceder a su página web. A veces no cargará al instante, otras veces si.&lt;/p&gt;

&lt;p&gt;Si tienen alguna duda, sugerencia o preguntas escriben y trataré de responder de inmediato.  &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>html</category>
      <category>deploy</category>
      <category>web</category>
    </item>
    <item>
      <title>¿Qué tipo de contenido subiré?</title>
      <dc:creator>Axel Garcia</dc:creator>
      <pubDate>Sun, 17 Jan 2021 03:54:07 +0000</pubDate>
      <link>https://dev.to/pacisauctor/que-tipo-de-contenido-subire-3kaf</link>
      <guid>https://dev.to/pacisauctor/que-tipo-de-contenido-subire-3kaf</guid>
      <description>&lt;p&gt;Usaré este sitio para subir de todo un poco, algunas curiosidades que me he encontrado en mi poca experiencia y algunos hallazgos o "trucazos" que he aprendido. De igual manera, podrían sugerir por este medio.&lt;/p&gt;

</description>
      <category>intro</category>
      <category>education</category>
      <category>code</category>
    </item>
  </channel>
</rss>
