Ir al contenido principal

Django Girls

Introducción

La siguiente entrada trata sobre el desarrollo de un proyecto desarrollado en Django de la siguiente pagina:

Creación de entrono virtual

Creacion de la carpeta con el comando mkdir



Instalar la librería virtualenv dentro de la carpeta creada anteriormente


Creamos el entorno virtual


Revisamos que fue creada exitosamente


En la carpeta que acabamos de crear se encuentra dentro de ella diferentes archivos, entre todos ellos debemos buscar la carpeta Scripts


Dentro de la carpeta Scripts, existe un archivo llamado active, el cual puede activar el entorno virtual, para eso hay que copiar la dirección de Scripts

Una vez copiada la ruta lo escribes en el cmd seguido de la palabra activate


Una vez dentro del entorno virtual se debe instalar Django


Instalación de paquetes con un fichero de requisitos

Un fichero de requisitos (requirements) tiene una lista de dependencias que se deben instalar mediante pip install.

Primero crea un archivo requirements.txt dentro de tu directorio djangogirls. Lo puedes hacer mediante abriendo un nuevo archivo en el editor de código y guardándolo como requirements.txt en el directorio djangogirls. Tu directorio se verá así:


Dentro del fichero debemos tener el siguiente texto


Y lo ejecutamos en el cmd

¡Tu primer proyecto en Django!

El primer paso es iniciar un nuevo proyecto de Django. Básicamente, significa que vamos a lanzar unos scripts proporcionados por Django que nos crearán el esqueleto de un proyecto de Django. Son solo un montón de directorios y archivos que usaremos más tarde.

Los nombres de algunos archivos y directorios son muy importantes para Django. No deberías renombrar los archivos que estamos a punto de crear. Moverlos a un lugar diferente tampoco es buena idea. Django necesita mantener una cierta estructura para poder encontrar cosas importantes.

Crear Proyecto

En Windows debes ejecutar el siguiente comando. (No olvides incluir el punto . al final):

(myvenv) C:\Users\Name\djangogirls> django-admin.exe startproject mysite .

 
django-admin.py es un script que creará los archivos y directorios para ti. Ahora deberías tener una estructura de directorios parecida a esta:

CAMBIAR LA CONFIGURACIÓN

Vamos a hacer algunos cambios en mysite/settings.py. Abre el archivo usando el editor de código que has instalado anteriormente.


Cambiamos la zona horaria


También tenemos que añadir una ruta para archivos estáticos. (Veremos todo acerca de archivos estáticos y CSS más adelante.) Ve al final del archivo, y justo debajo de la entrada STATIC_URL, añade una nueva llamada STATIC_ROOT:


Cuando DEBUG es True y ALLOWED_HOST esta vacío, el host es validado contra ['localhost', '127,0.0.1', '[::1]'] . Una vez despleguemos nuestra aplicación este no sera el mismo que nuestro nombre de host en PythonAnywhere así que cambiaremos la siguiente opción:

ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com']


CONFIGURAR UNA BASE DE DATOS

Hay una gran variedad de opciones de bases de datos para almacenar los datos de tu sitio. Utilizaremos la que viene por defecto, sqlite3.

Esta ya está configurado en esta parte de tu archivo mysite/settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}



Para crear una base de datos para nuestro blog, ejecutemos lo siguiente en la consola: python3 manage.py migrate (necesitamos estar en el directorio de djangogirls que contiene el archivo manage.py).


INICIAR EL SERVIDOR

Debes estar en el directorio que contiene el archivo manage.py (en la carpeta djangogirls). En la consola, podemos iniciar el servidor web ejecutando python3 manage.py runserver:


Ingresamos la dirección en el navegador


Crear una aplicación

Para mantener todo en orden, crearemos una aplicación separada dentro de nuestro proyecto. Es muy bueno tener todo organizado desde el principio. Para crear una aplicación, necesitamos ejecutar el siguiente comando en la consola (dentro de la carpeta de djangogirls donde está el archivo manage.py):


Notarás que se ha creado un nuevo directorio blog y ahora contiene una cantidad de archivos. Los directorios y archivos en nuestro proyecto deberían verse así:



Después de crear una aplicación, también necesitamos decirle a Django que debe utilizarla. Eso se hace en el fichero mysite/settings.py -- ábrelo en el editor. Tenemos que encontrar INSTALLED_APPS y agregar una línea que contiene 'blog.apps.BlogConfig', justo por encima de ]. El producto final debe tener este aspecto:


Crear el modelo del Post

En el archivo blog/models.py definimos todos los objetos llamados Models. Este es un lugar en el cual definiremos nuestra entrada del blog.

Abre blog/models.py en el editor, borra todo, y escribe código como este:

Crear tablas para los modelos en tu base de datos

El último paso aquí es agregar nuestro nuevo modelo a la base de datos. Primero tenemos que hacer saber a Django que hemos hecho cambios en nuestro modelo. (Lo acabamos de crear!) Ve a tu terminal y escribe python manage.py makemigrations blog. Se verá así:

Nota: Recuerda guardar los archivos que edites. De otro modo, tu computador ejecutará las versiones anteriores lo que puede ocasionar errores inesperados.

Django preparó un archivo de migración que ahora tenemos que aplicar a nuestra base de datos. Escribe python manage.py migrate blog y el resultado debería ser:

Administrador de Django

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

Abre el fichero blog/admin.py en el editor y reemplaza su contenido con esto:

Como puedes ver, importamos (incluimos) el modelo Post definido en el capítulo anterior. Para hacer nuestro modelo visible en la página del administrador, tenemos que registrar el modelo con admin.site.register(Post).

Ok, es hora de ver nuestro modelo Post. Recuerda ejecutar python manage.py runserver en la consola para correr el servidor web. Ve a tu navegador y escribe la dirección http://127.0.0.1:8000/admin/. Verás 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.
Cuando te lo pida, escribe tu nombre de usuario (en minúscula, sin espacios), email y contraseña. No te preocupes si no puedes ver la contraseña que estás tecleando - así es como debe ser. Tecléalo y pulsa intro para continuar. Luego, verás algo así (donde username y email serán los que escribiste anteriormente):

Vuelve a tu navegador. Entra con las credenciales de super usuario que escogiste; verás el panel de administrador de Django.

Ve a 'Posts' y curiosea un poco. Añade cinco o seis publicaciones en tu blog. No te preocupes por el contenido -- solo será visible para ti en tu ordenador -- puedes copiar y pegar texto de este tutorial para ir más rápido. :)

Asegúrate de que al menos dos o tres posts (pero no todos) tengan la fecha de publicación definida. Esto será muy poderoso después.


Instalar Git

Puedes descargar Git desde git-scm.com. Puedes hacer click en "Next" en todos los pasos excepto en dos: cuando se te pregunte que selecciones tu editor, selecciona Nano, y en el paso "adjusting your PATH environment", selecciona "Use Git and optional Unix tools from the Windows Command Prompt" (la última opción). Aparte de eso, los valores por defecto son correctos. "Checkout Windows-style, commit Unix-style line endings" tampoco necesita corrección.

No olvides reiniciar el Símbolo del Sistema o el PowerShell una vez que la instalación se complete con éxito.

Crear nuestro repositorio Git

Git sigue los cambios realizados a un grupo determinado de archivos en lo que llamamos un repositorio de código (abreviado "repo"). Vamos a crear uno para nuestro proyecto. Abre la consola y ejecuta los siguientes comandos en el directorio de djangogirls:

Inicializar el repositorio de git es algo que sólo tenemos que hacer una vez por proyecto (y no tendrás que volver a teclear tu nombre de usuario y correo electrónico nunca más).

Git llevará un seguimiento de los cambios realizados en todos los archivos y carpetas en este directorio, pero hay algunos archivos que queremos que ignore. Esto lo hacemos creando un archivo llamado .gitignore en el directorio base. Abre tu editor y crea un nuevo archivo con el siguiente contenido:

Y guárdalo como .gitignore en la carpeta "djangogirls".

Te recomendamos utilizar el comando git status antes de git add o en cualquier momento en que no sepas muy bien lo que ha cambiado. Esto te ayudará a evitar sorpresas, como subir cambios o archivos que no queríamos subir. El comando git status muestra información sobre cualquier archivo no seguido ("untracked"), modificado ("modified"), preparado ("staged"), el estado de la rama y muchas cosas más. La salida debería ser parecida a esto:

Y finalmente guardamos nuestros cambios. Ve a la consola y ejecuta estos comandos:

Subiendo tu código a Github

Vete a GitHub.com y regístrate para obtener una cuenta de usuario nueva y gratuita. (Si ya lo hiciste en la preparación del taller, ¡eso es genial!) Asegúrate de recordar tu contraseña (agrégala a tu administrador de contraseñas, si usas uno).

A continuación, crea un nuevo repositorio con el nombre "my-first-blog". Deja el checkbox "initialize with a README" sin marcar, deja la opción de .gitignore vacía (ya lo hemos hecho manualmente) y deja la licencia como None.

En la siguiente pantalla, verás la URL para clonar el repo, que tendrás que usar en los comandos que van a continuación:


Ahora necesitas enlazar el repositorio Git en tu ordenador con el repositorio de GitHub.

Escribe lo siguiente en la consola (cambia <your-github-username> por tu nombre de usuario de GitHub, pero sin los símbolos < y > -- fíjate en que la URL debería coincidir con la URL para clonar el repo que acabas de ver):

Cuando hagas push a GitHub, te preguntará tu usuario y password de GitHub, y después de introducirlos, deberías ver algo como esto:

Tu código ya está subido a GitHub. ¡Ve y compruébalo! Encontrarás que está en buena compañía

Configurar nuestro blog en PythonAnywhere

Crea una cuenta en PythonAnywhere

PythonAnywhere es un servicio para ejecutar código Python en servidores "en la nube". Lo vamos a usar para alojar nuestro sitio para que esté disponible en Internet.

Almacenaremos del blog que estamos construyendo sobre Python Anywhere. Crea una cuenta como "Principiante/Beginner" en Python Anywhere (el modo gratuito está bien, no necesitas una tarjeta de crédito).


Crear un token para la API de PythonAnywhere

Este paso solo necesita ser completado una vez. Una vez que te hayas registrado en PythonAnywhere, serás llevado a tu tablón principal. Encontrarás el enlace a la página de tu "Cuenta" en la esquina superior derecha:

Configurar nuestro sitio en PythonAnywhere

Vuelve al dashboard de PythonAnywhere haciendo click en el logo, y escoge la opción de iniciar una consola "Bash" – esta terminal es como la que hay en tu ordenador, pero en el servidor de PythonAnywhere.

Para desplegar una aplicación web en PythonAnywhere necesitas descargar tu código de GitHub y configurar PythonAnywhere para que lo reconozca y lo sirva como una aplicación web. Hay formas de hacerlo manualmente, pero PythonAnywhere tiene una herramienta automática que lo hará todo por nosotros. Lo primero, vamos a instalar la herramienta:

Eso debería mostrar en pantalla algunos mensajes como Collecting pythonanywhere, y finalmente una linea diciendo que ha terminado bien: Successfully installed (...) pythonanywhere- (...).

Ahora ejecutaremos el asistente para configurar automáticamente nuestra aplicación desde GitHub. Teclea lo siguiente en la consola de PythonAnywhere (no te olvides de usar tu propio nombre de usuario de GitHub en lugar de <your-github-username>, para que la URL sea como la URL de clonar el repo de GitHub):

En PythonAnywhere todos estos pasos están automatizados, pero son los mismos que tendrías que seguir en cualquier otro proveedor de servidores.

Lo más importante que debes notar en este momento es que tu base de datos en PythonAnywhere está totalmente separada de tu base de datos en tu propia computadora, por lo que puedes tener diferentes publicaciones y cuentas de administrador. Como consecuencia, igual que lo hicimos en tu ordenador, tenemos que crear la cuenta de administrador con el comando createsuperuser. PythonAnywhere ya ha activado el virtualenv automáticamente, así que lo único que tienes que hacer es ejecutar:

¡Tu primera URL de Django!

¡Es hora de crear nuestra primera URL! Queremos que 'http://127.0.0.1:8000/' sea la página de inicio del blog y que muestre una lista de post.

También queremos mantener limpio el archivo mysite/urls.py, así que vamos a importar las urls de nuestra aplicación blog en el archivo principal mysite/urls.py.

Vamos, añade la línea para importar blog.urls. Tú también necesitarás cambiar la línea desde django.urls... porque estaremos usando la función include aquí, así que se necesitará añadir ese import a la línea.

El archivo mysite/urls.py debería verse ahora así:

blog.urls

Crea un nuevo fichero vacío llamado urls.py en el directorio blog, y ábrelo en el editor de código. ¡Vale! Añade las dos primeras líneas.

Aquí estamos importando la función de Django path y todos nuestras views desde la aplicación blog (no tenemos una aun, pero veremos eso en un minuto!)

Luego de esto, podemos agregar nuestro primer patrón URL:

Como puedes ver, estamos asociando una vista (view) llamada post_list a la URL raíz. Este patrón de URL coincidirá con una cadena vacía y el solucionador de URL de Django ignorará el nombre de dominio (es decir, http://127.0.0.1:8000/) que prefija la ruta de URL completa. Este patrón le dirá a Django que views.post_list es el lugar correcto al que ir si alguien entra a tu sitio web con la dirección 'http://127.0.0.1:8000/'.

La última parte name='post_list' es el nombre de la URL que se utilizará para identificar a la vista. Puede coincidir con el nombre de la vista pero también puede ser algo completamente distinto. Utilizaremos las URL con nombre más delante en el proyecto así que es importante darle un nombre a cada URL de la aplicación. También deberíamos intentar mantener los nombres de las URL únicos y fáciles de recordar.

Si tratas de visitar http://127.0.0.1:8000/ ahora, encontrarás un mensaje de error 'web page not available' a algo así. Esto es porque el servidor (¿recuerdas que escribimos runserver?) ya no está funcionando. Mira la ventana de la consola del servidor para saber por qué.

blog/views.py

Vale, abre este fichero en el editor y mira lo que hay en él.

No hay demasiadas cosas aquí todavía.

Recuerda que las líneas que comienzan con # son comentarios - significa que Python no las ejecutará.

Creemos una vista (view) como sugiere el comentario. Añade la siguiente mini-vista por debajo:

Como puedes ver, hemos creado una función (def) llamada post_list que acepta request y return una función render que reproduce (construye) nuestra plantilla blog/post_list.html.

Guarda el archivo, ve a http://127.0.0.1:8000/ y mira lo que hemos hecho.

¡Otro error! Leamos lo que está pasando ahora:

¡Tu primera plantilla!

Crear una plantilla significa crear un archivo de plantilla. Todo es un archivo, ¿verdad? Probablemente hayas notado esto ya.

Las plantillas se guardan en el directorio de blog/templates/blog. Así que primero crea un directorio llamado templates dentro de tu directorio blog. Luego crea otro directorio llamado blog dentro de tu directorio de templates:

blog
└───templates
    └───blog

(Tal vez te estés preguntando por qué necesitamos dos directorios llamados blog – como verás más adelante, es una convención de nombres que nos facilitará la vida cuando las cosas se pongan más complicadas.)

Y ahora crea un archivo post_list.html (déjalo en blanco por ahora) dentro de la carpeta blog/templates/blog.

Mira cómo se ve su sitio web ahora: http://127.0.0.1:8000/

Recuerda hacer migraciones si no te sale, vuelve a correr el servidor y aparecerá como en la imagen y reinicia el servidor y vuelve activar.

¡Ningún error más! Felicidades :) Sin embargo, por ahora, tu sitio web no está publicando nada excepto una página en blanco, porque la plantilla también está vacía. Tenemos que arreglarlo.

Abre un fichero nuevo en el editor y escribe lo siguiente:


Guardamos como, y debemos poner el mismo nombre pero ahora pondremos .html para reemplazar el archivo html que antes hemos creado.

Ahora, ¿cómo luce tu sitio web? Haz clic para verlo: http://127.0.0.1:8000/

Comentarios

Entradas populares de este blog

Comandos CMD

Todas las versiones de Windows incluyen una serie de comandos que permiten transmitir órdenes directamente al sistema operativo. Son simples instrucciones que se pueden usar de formas diferentes, con la herramienta Símbolo del Sistema o usándolos en archivos batch. El Símbolo del Sistema, Consola de CMD o intérprete de comandos, es una herramienta incluida en todas las versiones de Windows.  Cls:   Este comando limpia la ventana de CMD eliminando el contenido de operaciones anteriores. Exit:   Cierra la ventana de CMD. Si se ha iniciado un comando de procesado por lotes cierra el proceso, pero mantiene CMD abierto. Help:   Muestra todos los comandos disponibles y una breve descripción. Si quieres obtener información sobre un comando en concreto o  cómo formar la sintaxis de un determinado comando , escribe el comando seguido de una barra diagonal y un signo de interrogación. Por ejemplo:  cd /? Cd:  Este es uno de los comandos más útiles par...

1.4 Aspectos matematicos de la graficacion (geometria fractal)

La geometría es fundamental para el desarrollo de software de gráficos. Los científicos y programadores de computadoras estudian geometría fractal, geometría descriptiva y perspectiva lineal, que es la geometría 3D, para desarrollar matemáticamente el dibujo de objetos en vez de dibujar con un mouse o un bolígrafo y un lápiz. Para entender que es la geometría fractal, se debe primero conocer el significado de "Fractal", el cual es un ente geométrico el cual en su desarrollo espacial se va produciendo a si mismo cada vez a una escala menor.  ¿Que es la geometria fractal? La geometría fractal es el estudio de los métodos de dibujo automatizados que se basan en una forma geométrica específica o conjunto de formas geométricas específicas. A menudo, los métodos fractales implican la inscripción repetida de una forma geométrica dentro de otra igual. Un ejemplo, es cuando un triángulo equilátero se inscribe dentro de otro triángulo equilátero, en repetidas ocasione...

Django

¿Qué es Django? Django es un framework web diseñado para realizar aplicaciones de cualquier complejidad   en unos tiempos muy razonables. Está escrito en Python y tiene una comunidad muy amplia, que está en continuo crecimiento. Webs que utilizan Django Desde la página web de Django podemos ver unos destacados, en los que podemos ver algunas webs como la de  National Geografic, Disqus, Instagram, Mozilla Foundation y Pinterest , que son webs con un tráfico altísimo y utilizan Django. Por qué usar Django Los motivos principales para usar Django son: Es muy rápido : Si tenéis una startup, tenéis prisa por terminar vuestro proyecto o, simplemente, queréis reducir costes, con Django podéis construir una aplicación muy buena en poco tiempo. Viene bien cargado : Cualquier cosa que necesitéis realizar, ya estará implementada, sólo hay que adaptarla a vuestras necesidades. Ya sea porque hay módulos de la comunidad, por cualquier paquete Python que encontréis o...