jueves, 21 de febrero de 2019

1. Mi primer proyecto django(tutorial djangogirls)

Mi primer proyecto



En esta ocasión vemos la creación de un proyecto.


Creamos una carpeta djangogirls.


 En la carpeta djangogirls, ahora creamos un proyecto con el siguiente comando:


 django-admin starproject nombre_proyecto

Si muestra que no reconoce el comando


Se seguirá lo siguiente:


Ya se ha creado con éxito el proyecto1, si vamos a pycharm nos mostrara una estructura como esta:



Ya que nos encontramos en la carpeta djangogirls, nos dirigimos a setttings donde cambiaremos la configuración cambiando la linea de código "en-us" a "es-mx", a partir de ahora el sitio se nos mostrara en español.





Configurar una base de datos

La base de datos que se utilizara sera la de defecto:


Para hacer una migración, no dirigimos nuevamente a consola.Accedemos a proyecto1 y ejecutamos el siguiente comando:
python manage.py migrate


Inicio de servidor


En la consola, ahora vamos a inicia el servidor, para ellos con el comando:

python manage.py runserver




Ahora comprobamos el sitio se este ejecutando, abrimos el navegador (chrome).

Mientra el servidor se este ejecutando, no se pondrán ejecutar comando adicionales, para cerrar ctrl+c.

Crear una aplicación


Para mantener todo en orden creamos una app blog, para crea un aplicación ejecutamos el siguiente comando en consola:
 django-admin startapp nombre_app


Al ir a pycharm veras que se ha creado un  nuevo directorio blog.



Después de crearla necesitamos decirle a django que debe utilizarla, eso se hace en settings,agregamos una linea blog, debemos tener algo así:


Crear el modelo del Post


En el archivo blog/models.py, borramos todo y escribimos este código:

from django.db import models
from django.utils import timezone


class Post(models.Model):
    author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
    title = models.CharField(max_length=200)
    text = models.TextField()
    created_date = models.DateTimeField(
            default=timezone.now)
    published_date = models.DateTimeField(
            blank=True, null=True)

    def publish(self):
        self.published_date = timezone.now()
        self.save()

    def __str__(self):
        return self.title



  • models.CharField, así es como defines un texto con un número limitado de caracteres.
  • models.TextField, este es para texto largo sin límite.
  • models.DateTimeField, este es fecha y hora.
  • modelos.ForeignKey, este es una relación (link) con otro modelo


Tenemos que hacer saber a django que hemos realizado cambios, escribimos el siguiente comando:

 python manage.py makegrations blog


Se verá asi:


Ahora ejecutamos lo siguiente:

 python manage.py migrate blog


Nuestro modelo Post ya esta en nuestra base de datos.


Administrador django


Para agregar, editar y borrar los posts que hemos modelado, usaremos el administrador (admin) de Django.

Abre el fichero blog/admin en pycharm y remplaza el código con esto:

Código:

from django.contrib import admin
from .models import Post

admin.site.register(Post)




Ahora ejecutamos python manage.py runserver en la consola para correr el servicio web. Ve a tu navegador y escribe la dirección http://127.0.0.1:8000/admin/. Veras una página de inicio de sesión como esta:




Para iniciar sesión, deberás crear un superusuario (superuser), que es un usuario que tiene control sobre todo el sitio. Vuelve a la línea de comandos, escribe python manage.py createsuperuser y pulsa enter.


Nota: Al momento de ingresar el password, se mostrara vació, como si no ingresaras la contraseña.

Una vez registrado el usuario, volvemos a consola y ejecutamos el comando python manage.py runserver para correr el servidor, vamos navegador http://127.0.0.1:8000/admin/ nos mostrara.

Aquí vamos a ingresar el nombre de usuario, tanto como el password.



Nos mostrará lo siguiente.

Podemos agregar varios POST, y vemos que el modelo que se ha creado son los campos que nos permite llenar esta aplicación.



Referencia:
https://tutorial.djangogirls.org/es/django_admin/

martes, 19 de febrero de 2019

1. Partes que conforman el proyecto

Archivo settings



Link

Creación de proyecto y app dentro de proyectouno



Entra a servidor:



Si vamos a interprete python (pycharm), en settings (file)



Estructura y como funciona 

Módulo os


El módulo os nos permite acceder a funcionalidades dependientes del Sistema Operativo. Sobre todo, aquellas que nos refieren información sobre el entorno del mismo y nos permiten manipular la estructura de directorios (para leer y escribir archivos).

os.path

El módulo os también nos provee del submódulo path (os.path) el cual nos permite acceder a ciertas funcionalidades relacionadas con los nombres de las rutas de archivos y directorios.
os.path.abspath(path)
Ruta absoluta: Devuelve una versión normalizada de la ruta de acceso . 

os.path.dirname( path )
Devolver el nombre del directorio de la ruta camino (path).


import os # abrir archivos/ para salidas del so

Si intentamos hacer una modificación a la sección de import os, te muestra error al conectar con el servidor.




Debug permite ver la pagina. Mas información.



INSTALLED_APPS (aplicación instaladas)



Probar quitando admin.



Notaras que no podrás conectar al servidor.


TEMPLATES: De la app que son archivos html donde hay configuraciones de autentificación.




Base de datos (Database): En donde se puede configurar los diferentes tipos de bases de datos. También hay una liga de documentación de la base de datos que ofrece, donde te puede ayudar.




La base de datos sqlite3  esta por default, pero este se puede cambiar a otra base de datos que mejor te parezca.


Autentificación de validadores de contraseñas (AUTH_PASSWORD_VALIDATORS): Con esto ya no nos preocupamos, por que consta de validadores de password que usa la aplicación,viene varias restricciones como mayor que 8 caracteres, números consecutivos, etc. De igual manera encontramos la liga de la documentación que habla de los password de validación.




Validadores: Verifican que no sean contraseñas débiles.
Documentación


Language_codeSe tiene una configuración de lenguaje de la aplicación, por default contiene ingles, pero se puede cambiar el formato, a otro lenguaje.




Otros aspectos son archivos fijos imágenes, css, diseño, se puede configurar.
Documentación para más informes de la visualización de nuestra pagina.



urls




En urlpatterns en donde tenemos el apartado que dice "admin". Hace referencia a los url podemos cambiar a admin a inicio. Con esto podemos ingresar http://127.0.0.1:8000/admin/



Si cambiamos admin por inicio ahora ingresa por http://127.0.0.1:8000/inicio/. En cambio al ingresar con admin  no se encontrará.






Archivo alumnos|

Nos dirigimos a la aplicación alumnos, donde se encuentra e archivo admin.

Admin: Es donde se encuentra el administrador.

Models: Se encuentra las tablas a nivel de base de datos (sqlite3), estas tablas van a migrar con migrate.

Test: Para hacer pruebas a nuestra aplicación. Se pueden hacer pruebas de código.

Vistas: view de la aplicación, que es lo que ve el usuario, cliente. Liga de documentación de vistas.

Apps:



domingo, 10 de febrero de 2019

1. Errores comunes al solicita una URL


Errores comunes al solicita una URL

Tipos de errores HTTP más comunes, para saber así cómo interpretarlos y tomar las medidas oportunas para corregirlos.

200: esto no es un error HTTP, sino todo lo contrario. Significa que la página ha cargado de forma correcta.
En general todos los códigos de estado que sean 2XX (un 2 seguido de 2 números) indican que la carga ha ido bien.
Por tanto, si el HTTP status de tu página web es 200 todo va como la seda. ¡Enhorabuena!

301 o 302: esto tampoco se trata de un error HTTP.
Estos códigos indican que se está haciendo una redirección de una página a otra.
Esta redirección puede ser permanente (código 301) o temporal (código 302).
Es decir, cuando se ha ido a cargar una cierta página se nos ha redirigido a otra.
Supuestamente esto ocurre porque lo hemos configurado así, ya sea aplicando la redirección en el archivo .htaccess (para servidores Apache) o con otro método.
Las redirecciones se suelen crear cuando queremos cambiar el dominio de nuestra página web (por ejemplo, de www.viejadireccion.com a www.nuevadireccion.com) o cuando queremos cambiar un enlace concreto de la página.
En general, todos los códigos de estado 3XX (un 3 seguido de 2 números) indican una redirección.

4XX: se refieren a errores de cliente. Suelen darse cuando la página que se carga no existe o se tiene el acceso bloqueado a ella. Vamos a revisar los más comunes:

400: la solicitud tiene una sintaxis incorrecta. Significa que las dirección de la página web que se quiere cargar (la URL) tiene un formato no válido.

403: indica que la página solicitada existe pero se ha denegado el acceso a la misma. Por ejemplo, podría tratarse de un contenido exclusivo para usuarios registrados.

401: similar al error 403, pero en este caso existiría una posibilidad de acceso a la misma que no se ha pasado o todavía no se ha superado. Por ejemplo, al cargar la página se podría mostrar una solicitud de usuario y contraseña, que deben ser rellenados para poder acceder a la página. Ninguna página de inicio de una web debería mostrar un error de este tipo, a menos que sea exclusiva de uso interno, no de cara al público.

404: posiblemente el error más común. Indica que la página que se está tratando de cargar no se ha encontrado. Esto puede ocurrir porque hemos escrito mal la dirección de la página web que queremos cargar, que hemos cargado la página a través de un enlace erróneo, o que la página sí que existió en su momento pero ahora ya no.
406: indica que la página ha devuelto un código que no puede ser interpretado por el navegador con el que estamos cargando la página web.

5XX: se refieren a errores del servidor. Pueden generarse por un error en el código de la página web o dentro del propio servidor. Vemos los más usuales:

500: otro error muy común. Indica un error interno, lo que se puede traducir que la página web tiene algún error en el código, por lo que el servidor no puede generar el código HTML para devolver al usuario. Por ejemplo, si en un WordPress existe un error de php, se podría producir ese error 500. Si vemos que nos sale este error tendremos que revisar el log de errores para tratar de localizar el archivo que está generando el error y aplicar las correcciones oportunas.

504: indica que el tiempo de espera para devolver la página web se ha agotado. Puede estar generado por un error en el propio servidor (por ejemplo, se ha “colgado” el Apache) o porque nuestra página web contiene algún código que nunca termina de ejecutarse (por ejemplo, un bucle del que nunca se sale).

509: indica que se ha superado el límite de ancho de banda disponible en el servidor para nuestra página web. Es común que con la contratación del hosting se indique un limite mensual en el ancho de banda, es decir, el número de datos que se puede devolver desde el servidor a los visitantes de nuestra página web.

miércoles, 6 de febrero de 2019

1. Mi primer proyecto y app en Django



Creación de proyecto y app por cmd


En esta entrada, se explicará como crear nuestro primer proyecto y aplicación por django. Antes debemos tener instalado ya django.

Para crear un Proyecto


Vamos a cmd, de manera sencilla con las teclas w+r

En esta ocasión empezaremos con el comando cd..  , para llegar a C:\, donde de ahí nos dirigiremos a la ubicación donde queremos guardar el archivo(opcional), si no desde C:\.

Escribimos el comando:

Creamos una carpeta donde vamos a guardar llamada escolares.


md escolares


Abrimos la carpeta escolares



cd escolares





Luego con el siguiente comando creamos el proyectouno



django-admin startproject nombre_proyecto




Entramos al proyecto


cd proyectouno


Ejecutamos lo siguiente para ver el contenido del proyecto



proyectouno>dir/p  #para ver los archivos dentro de la carpeta



En pycharm podemos abrir el proyecto que creamos en cmd(miramos contenido)podemos ver el proyecto

Ahora corremos el servidor, para poder activar el servidor del proyecto.


proyectouno>python manage.py runserver


Nota: Te da una recomendación de migrar los datos (modelos), puedo ir al navegador para ver en la base de datos con la direccion ip de nuestro proyecto http://127.0.0.1:8000/

Nos mostrará la página:


Con  http://127.0.0.1:8000/admin, nos redirigimos a administrador de django.


Se ha creado con éxito nuestra página.

Ahora cerramos el servidor con ctrl + c, y poder seguir ejecutando comandos, o podemos abrir otro cmd.


Nos recomienda migrar, para ello utilizamos el siguiente comando:

 python manage.py  migrate

Volvemos a ejecutar el comando servidor.


python manage.py runserver

Ya no menciona el error de no hacer las migraciones del proyectouno



ctrl+c   cierra el servidor




Creación de una app:

Es la misma sintaxis que en proyecto con cambio de starproject a startapp.

django-admin startapp nombre_app





Unidad 3 Configuración y administración del espacio en disco.(Investigacion)

Configuración y administración del espacio en disco. Para la gestión del almacenamiento de una base de datos existen 4 conceptos bien ...