Revisión de los conceptos básicos de Python y creación de su primera aplicación web con Django - Parte 2


Como comentamos brevemente en el último artículo de esta serie, Django es un marco web gratuito y de código abierto que convierte el desarrollo de aplicaciones en una tarea más rápida y efectiva, desde el punto de vista del programador.

Para hacerlo, Django sigue el patrón de diseño MVC (Modelo - Vista - Controlador), o como dicen sus preguntas frecuentes, se puede describir mejor como un marco MTV (Modelo - Plantilla - Vista).

En Django, una "vista" describe qué datos se presentan al usuario, mientras que una plantilla describe cómo se presentan los datos. Finalmente, el modelo es la fuente de información sobre los datos de la aplicación.

En este artículo, revisaremos algunos conceptos básicos de Python y explicaremos cómo preparar su entorno para crear una aplicación web simple en el siguiente tutorial.

Aprenda algunos conceptos básicos de Python

Como lenguaje de programación orientado a objetos, Python organiza las cosas en una colección de objetos con propiedades (también conocidas como atributos) y métodos (también conocidas como acciones). Esto nos permite definir un objeto una vez y luego crear múltiples instancias de tales objetos con la misma estructura de propiedades y métodos sin tener que escribir todo desde cero cada vez. Por tanto, los objetos se definen mediante clases que los representan.

Por ejemplo, un objeto Persona podría definirse de la siguiente manera:

  1. Person.height
  2. Person.weight
  3. Persona.Edad
  4. Person.ethniticity

  1. Person.eat()
  2. Person.sleep()
  3. Person.walk()

Como en la mayoría de los lenguajes de programación, una propiedad se define por el nombre del objeto seguido de un punto y el nombre del atributo, mientras que un método se indica de la misma manera pero también seguido de un par de paréntesis (que pueden estar vacíos o no - en el En último caso, puede contener una variable sobre cuyo valor actuará el método, como Person.eat (pastel) o Person.sleep (ahora), por nombrar algunos ejemplos).

Para definir métodos en Python, usará la palabra clave def, seguida del nombre del método y un par de paréntesis, con un objeto opcional como verá en un minuto.

Todo esto quedará mucho más claro durante la siguiente sección donde nos sumergiremos en un ejemplo real.

Creando la estructura de una aplicación web

Como recordará de la Parte 1 de esta serie de Django, dijimos que una aplicación web requiere una base de datos para almacenar datos. Cuando crea una aplicación, Django configura automáticamente una base de datos Sqlite que funciona bien para aplicaciones de tamaño pequeño a mediano, y es lo que usaremos en este caso para almacenar datos para una aplicación web clásica por primera vez: un blog.

Para iniciar una nueva aplicación dentro de un proyecto (por cierto, puede pensar en un proyecto como una colección de aplicaciones web), ejecute el siguiente comando después de activar el entorno virtual que configuramos en la Parte 1 de esta serie.

# cd ~/myfirstdjangoenv/
# source myfirstdjangoenv/bin/activate
# cd ~/myfirstdjangoenv/myfirstdjangoproject
# python manage.py startapp myblog

Tenga en cuenta que puede cambiar el nombre de la aplicación (myblog) por el nombre que elija; este es solo un identificador para la aplicación (tenga en cuenta que todas las tareas de administración se invocan mediante el script manage.py a través del Python binary - siéntase libre de explorar su código fuente si tiene un minuto):

Ahora vayamos dentro del directorio interno myfirstdjangoproject y busquemos el archivo settings.py , donde le diremos a Django que use myblog como una aplicación:

# cd ~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject

Busque la sección INSTALLED_APPS y agregue myblog entre comillas simples como se muestra a continuación:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myblog'
)

(Por cierto, las líneas que comienzan con django arriba representan otras aplicaciones de Django que se activan en el proyecto actual automáticamente cuando se crea por primera vez y se supone que ayudan al desarrollador a escribir código relacionado con la administración, autenticación, declaraciones de tipo de contenido, etc. on, en su aplicación).

Por lo tanto, myblog se activará, junto con las otras aplicaciones integradas, en esta instancia de Django.