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ónmysite/settings.py
: El archivo de configuración de la aplicaciónmysite/urls.py
: El archivo de rutas de la aplicaciónmysite/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:
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:
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:
<!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:
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:
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:
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:
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