Django & Python Blog

Aprende Django (3). Python Manage.py runserver

Lo que el día de hoy haremos es crear nuestro primer servidor en Django, te sorprenderá lo fácil que es.

NOTA: El ejemplo está desarrollado en Linux, mas si tienes Python instalado en Windows (Usando el tutorial precedente en este weblog) debería marchar precisamente igual.

VIRTUALENV:

Si bien no es preciso y bien puedes comenzar el proyecto sin precisar crear un ambiente virtual, esto es buena práctica puesto que apartas los bultos instalados en diferentes proyectos de Django.

Si tienes instalado python en tres.0 hacia adelante, ya tienes a tu predisposición el instalador de bultos de Python PIP. Es preciso instalarlo si no lo tienes, puesto que para instalar las librerías que vamos a usar a lo largo de nuestro proyecto.

Si no lo tienes instalado puedes ver de qué forma hacerlo acá. Lo único que debes hacer es descargar el fichero get-pip.py y correrlo desde la consola tal y como si fuera un programa normal

python get-pip.py

Tras tener el instalador de bultos instalado, solo debes correr la línea.

pip install virtualenv

Lo que instalará el mánager de entornos virtuales de Python, a fin de que cada uno de ellos de tus proyectos tenga instaladas las librerías que solo sean precisas y no más.

CREANDO EL PROYECTO:

Uno.- Creamos la carpetita donde vamos a comenzar nuestro proyecto con el nombre de “Chuirer” y entramos:

mkdir Chuirer
cd Chuirer

Dos.- En la carpetita creamos nuestro ambiente virtual y lo activamos:

virtualenv venv
source venv/bin/activate

Ya tenemos nuestro ambiente virtual listo para comenzar a crear nuestro proyecto.

Tres.- Instalamos el famosisimo Django en nuestro ambiente virtual con el próximo comando (instalará la versión más nueva del framework):

pip install django

Cuatro.- Instalado Django creamos nuestro proyecto con el próximo comando:

django-admin.py startproject Chuirer

!Listo! Nuestro proyecto ha sido creado. Ahora tratemos de correr el servidor.
Cinco.- Corremos el servidor con el comando:

python manage.py runserver

Aparecerá el próximo mensaje por el hecho de que no hemos hecho la “migración” para crear las tablas de la base de datos precisas a fin de que nuestro servidor funcione: Usuarios, Sessions, etc…

Seis.- Para hacer la migración corremos el próximo comando:

python manage.py migrate

Siete.- Volvemos a correr el proyecto y va a correr sin problema:

python manage.py runserver

NOTA: El proyecto va a correr por default en el localhost o bien mil doscientos setenta en el puerto ocho mil, mas puedes añadir la ip que desees asignarle a tu servidor, por ejemplo: python manage.py runserver 192.168.10.1:8000

¡Felicitaciones! Tienes tu primer servidor de Django marchando.

¡Nos vemos en el próximo artículo!

Aprende Django (2). Funciones y clases en python

El día de hoy vamos a comprobar el otro aspecto que debes conocer para aprender Django y son las funciones y clases en Python. El tema es de lo más fácil si conoces la Programación Orientada a Objetos en otro lenguaje como Java.

FUNCIONES:

Una función es un proceso o bien “subrutina” que se aparta de la demás lógica de un algoritmo así sea por el hecho de que se repite muy frecuentemente su proceso y se puede volver a usar, o bien por el hecho de que es preciso modularizar un programa (Un programador profesional busca la forma de organizar su código a fin de que otras personas extrañas lo puedan leer en cualquier instante).

En Python al declarar una función se emplea la palabra reservada def seguido el nombre de la función, entre paréntesis los factores de la función y también igual que las estructuras iterativas un “:”.

def come_tacos(tacos):
    for taco in tacos:
        print ('Yum! estuvo bueno el taco de ' + taco + '!')

Lo que hace esta función es percibir un arreglo de tacos como factor y lo recorre comiendonselos uno por uno.

Para expedir a llamar esta función solo se requiere poner su nombre y después entre paréntesis el arreglo de tacos en cuestión:

come_tacos(['suadoero', 'pastor', 'barbacoa'])

Es posible que sea el ejemplo más absurdo que puedas ver, mas recuerda que un buen programador escribe código a fin de que cualquiera lo pueda comprender, con lo que debes ser claro y organizado con el empleo de tus funciones, no hacerlas en el caso de que sea preciso.

Clases:

En Python es un lenguaje orientado a objetos, lo cuál quiere decir que el empleo de clases y objetos es uno de los aspectos más esenciales y para aprender Django es preciso.

Una clase es un molde o bien plantilla para la creación de objetos que no son más que representaciones de entidades del planeta real en un contexto informático. Con clase o bien molde me refiero a la definición de sus atributos y comportamiento y herencia.

El próximo ejemplo lo pude dejar más claro:

class Estudiante():
    boleta = ''
    nombre = ''
    prom_general = 0
 
    def estudiar(self):
        print('A estudiar!')
 
    def dormir(self):
        print('Zzzzzzzzzzzz')
 
    def __init__(self, boleta, nombre, prom_general)
        self.boleta = boleta
        self.nombre = nombre
        self.prom_general = prom_general

En un caso así reflejamos la clase Estudiante, que tiene sus atributos definidos y las funciones que definen su comportamiento válido.

La función “__init__” lleva por nombre constructor y define los datos por default en el momento de crear una nueva instancia de la clase o bien mejor dicho crear un nuevo estudiante.

Para crear al nuevo estudiante solo debemos hacer lo siguiente:

estudiante = Estudiante('123456'. 'Christian Consuelo', 8.0)
 
estudiante.estudiar() //Imprime 'A estudiar!'
estudiante.dormir() //Imprime 'Zzzzzzz'

Lo que hicimos fue crear un nuevo estudiante que ahora tienen los atributos como se definió al llamar al constructor, después podemos llamar a los métodos definidos de nuestra clase.

Espero que quede suficientemente claro, por el hecho de que ahora lo que veremos es el funcionamiento de la Herencia de clases.

Cuando definimos una clase, asimismo puede haber una entidad superior que defina su comportamiento y atributos de forma más general. Por poner un ejemplo cuando definimos la clase Estudiante en el ejemplo pasado, un Estudiante es una parte de un conjunto más grande llamado Personas.

Veremos el ejemplo más sencillo:

class Persona():
    edad = 0
    sexo = ''
 
    def vivir():
        print('Estoy vivo!')
 
class Estudiante(Persona):
    boleta = ''
    nombre = ''
    prom_general = 0
 
    def estudiar(self):
        print('A estudiar!')
 
    def dormir(self):
        print('Zzzzzzzzzzzz')
 
    def __init__(self, boleta, nombre, prom_general)
        self.boleta = boleta
        self.nombre = nombre
        self.prom_general = prom_general

Lo que hicimos es un caso afín mas ahora la clase Estudiante hereda los atributos y funciones de la clase Persona, llamandolos en cualquier instante cuando sea preciso.

Esto es lo básico que has de saber de Python para aprender Django. Voy a continuar haciendo artículo de Python mas en esta serie no.

Aprende Django (1) – Introducción a python

Vamos a empezar con los conocimientos anteriores para comenzar a ver estos posts y vas a ver que cualquiera puede crear aplicaciones verdaderamente avanzadas solo sabiendo lo básico de programación.

Como el Framework Django marcha con Python, puesto que veremos lo que precisamos conocer para empezar:

VARIABLES:

Python es un lenguaje en el que las variables se definen de forma DINÁMICA, lo que desea decir que su valor y tipo puede ir mudando en el tiempo de ejecución de programa, si bien no quiere decir que sea una buena práctica estar mudando el género de dato de nuestras variables a lo largo del proceso.

numero = 1 //Numeros enteros tanto cortos como largos y flotantes
 
cadena = 'Hola Mundo' //Arreglo de caracteres y es igual si usas "" o ''
 
lista = [1, 2, 3, 4] //Puedes agregar, eliminar, buscar, etc elementos, ideales a la hora de operar como vectores o matrices
 
tupla = (1,2,3,) //Similares a las listas pero no se pueden editar los elementos que están dentro de ellas
 
diccionario = {'llave': 'Valor'} //Arreglos llave/valor similares al funcionamientos de los diccionarios en la vida real.
 
booleano = True //True o False

Claro que puedes conjuntar los modelos de datos como una lista de diccionarios, un diccionario de tuplas, etc… Las posibilidades son infinitas, ÚSALAS.

Cada género de dato tiene sus métodos y para consultarlos recuerda que la documentación es tu mejor amiga.

CONTROLES DE FLUJO Y ESTRUCTURAS ITERATIVAS:

Para mantener el control de lo que pasa en nuestro programa es preciso señalarle a la computadora qué comportamiento tener en diferentes caso, para eso empleamos los controles de flujo y estructuras iterativas.

IF, ELIF, ELSE:

Toma una sublevación puntual hace un procedimiento si la condición se cumple, “elif” ponte otra alternativa que podría asimismo cumplirse y su contraparte “else” que señala qué hacer si la condición se cumple.

NOTA: En las estructuras de flujo, iterativas como en las funciones y definición de clases en PYTHON, no se utiliza más “undefined”. Para definir el alcance de estas se emplea un tabulador que puede ser de dos, cuatro espacios en dependencia del editor y su configuración.

if (tacos_gratis == True ):
    print "FELICIDAD PARA TODOS! =D"
elif (pizza_gratis == True):
    print "Algo es algo! =3"
else:
    print "La vida apesta..."

WHILE, FOR:

While y For son 2 estructuras iterativas que sirven para reiterar un proceso en tantas ocasiones como sean precisas, ¿Y de qué forma sabremos cuántas veces es precisa? Puesto que todo depende del proceso que desees reiterar y por cuánto. Veamos:

while (muerto != True):
    print "Seguiré codeando..."

Hay que llevar cuidado en de qué forma definimos nuestros procesos pues podemos tener inconvenientes si no detallamos en qué momento va a concluir de iterar nuestra estructura, por poner un ejemplo esa, que jamás acabará pues soy inmortal.

for alumno in grupo:
    print ("felicidades %s estas reprobado", alumno.nombre)

Asimismo puedes comprobar más sobre el funcionamiento en la documentación. Acá solo te muestro lo más básico que debes conocer para comenzar a desarrollar en Django, mas hay MUCHO más allí.

Un for es realmente útil cuando deseamos recorrer arreglos de datos y emplear cada uno de ellos de esos elementos en el arreglo si bien asimismo debes tener precaución de estar definiendo bien el alcance de tus ciclos.

NOTA: Asimismo puedes conjuntar estructuras para diferentes procesos, con lo que no es extraño que tengas un for en otro for, solo es preciso añadir otro nivel de identación con el tabulador y inconveniente resuelto.