Ninja Python: Utilizando el Framework de Desarrollo Web Ninja en Python

Ninja Python: Utilizando el Framework de Desarrollo Web Ninja en Python

Ninja es un framework de desarrollo web minimalista y rápido escrito en Python. Es una buena opción para desarrolladores que buscan un framework que sea fácil de aprender y usar, pero que aún ofrezca una gran cantidad de características y flexibilidad.

En este tutorial, aprenderemos a usar Ninja para crear un sitio web simple. Cubriremos los siguientes temas:

  • Instalación de Ninja
  • Creación de una aplicación Ninja
  • Agregar rutas y vistas
  • Renderizar plantillas
  • Manejando solicitudes HTTP
  • Trabajando con bases de datos

Instalación de Ninja

Para instalar Ninja, usaremos pip:

pip install ninja

Creación de una aplicación Ninja

Para crear una aplicación Ninja, usaremos el siguiente comando:

ninja new mysite

Este comando creará una nueva carpeta llamada mysite con los siguientes archivos:

  • mysite/__init__.py: El archivo principal de la aplicación
  • mysite/settings.py: El archivo de configuración de la aplicación
  • mysite/urls.py: El archivo de rutas de la aplicación
  • mysite/views.py: El archivo de vistas de la aplicación

Agregar rutas y vistas

Las rutas son las direcciones que se usan para acceder a las vistas de una aplicación web. Las vistas son los archivos que se encargan de generar la respuesta a una solicitud HTTP.

Para agregar una ruta a nuestra aplicación, usaremos el siguiente código:

Python
from django.urls import path

from mysite.views import home

urlpatterns = [
    path('', home, name='home'),
]

Esta ruta mapea la dirección / a la vista home.

La vista home es un archivo que devolverá una simple página HTML:

Python
from django.shortcuts import render

def home(request):
    return render(request, 'home.html')

Este archivo usa el método render() para devolver una plantilla HTML.

Renderizando plantillas

Las plantillas son archivos HTML que se usan para generar la respuesta a una solicitud HTTP.

Para crear una plantilla, usaremos el siguiente código:

HTML
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Ninja Python</title>
</head>
<body>
    <h1>Hola, mundo!</h1>
</body>
</html>

Esta plantilla contiene un simple encabezado y un párrafo.

Manejando solicitudes HTTP

Ninja proporciona una serie de funciones y clases para manejar solicitudes HTTP.

Por ejemplo, podemos usar la función get() para obtener los parámetros de una solicitud GET:

Python
from django.shortcuts import render

def home(request):
    name = request.GET.get('name', 'Mundo')
    return render(request, 'home.html', {'name': name})

Esta función devolverá una plantilla HTML con el nombre del usuario en el parámetro name.

Trabajando con bases de datos

Ninja proporciona soporte para una variedad de bases de datos, incluyendo MySQL, PostgreSQL y SQLite.

Para trabajar con bases de datos en Ninja, usaremos el módulo django.db.

Por ejemplo, podemos crear un modelo de base de datos para una tabla de usuarios:

Python
from django.db import models

class User(models.Model):
    name = models.CharField(max_length=255)
    email = models.EmailField()

    def __str__(self):
        return self.name

Una vez que hayamos creado un modelo de base de datos, podemos usarlo para crear y acceder a datos en la base de datos.

Por ejemplo, podemos crear un nuevo usuario de la siguiente manera:

Python
from mysite.models import User

user = User.objects.create(name='John Doe', email='johndoe@example.com')

También podemos obtener todos los usuarios de la base de datos de la siguiente manera:

Python
from mysite.models import User

users = User.objects.all()

Conclusión

Ninja es un framework de desarrollo web minimalista y rápido que es una buena opción para desarrolladores que buscan un framework que sea fácil de aprender y usar.

En este tutorial, aprendimos a usar