Ir al contenido principal

Entradas

SelectField con Flask - SQLAlchemy - wtforms - flask_wtf

requirements.txt flask==2.2.1 flask_sqlalchemy==2.5.1 flask-wtf==1.0.1 wtforms==3.0.1 db.sql CREATE DATABASE blog; CREATE TABLE countries ( id INTEGER PRIMARY KEY, name STRING (60) ); INSERT INTO countries (id, name) VALUES (171, 'Philippines'); INSERT INTO countries (id, name) VALUES (227, 'United States of America'); CREATE TABLE state ( id INTEGER PRIMARY KEY, name STRING (60), country_id INTEGER ); INSERT INTO state (id, name, country_id) VALUES (1, 'ARMM', 171); INSERT INTO state (id, name, country_id) VALUES (2, 'Bicol', 171); INSERT INTO state (id, name, country_id) VALUES (3, 'Central Luzon', 171); INSERT INTO state (id, name, country_id) VALUES (4, 'Central Mindanao', 171); INSERT INTO state (id, name, country_id) VALUES (5, 'Alabama', 227); INSERT INTO state (id, name, country_id) VALUES (6, 'Alaska', 227); INSERT INTO state (id, name, country_id) VALUES (7, 'Arizona', 227); INSERT INTO state...
Entradas recientes

Instalación de ElasticSearch 8 en Mac M1

Descargar version de java compatible para Mac M1 https://download.oracle.com/java/17/latest/jdk-17_macos-aarch64_bin.dmg   https://www.oracle.com/java/technologies/downloads/#jdk17-mac Instalar jdk Para saber la ruta donde quedo instalado java: which java Si sale "/usr/bin/java" pero no dice donde esta la ruta real, se puede usar la siguiente opcion: echo $(/usr/libexec/java_home) Viendo que eso trae la ruta, usar eso(sin el echo) dentro de la variable de entorno. Configurar variables de entorno: nano ~/.bash_profile Agregar al final de todo las siguientes lineas: export ES_HOME=/Users/mauro/Programacion/Herramientas/elasticsearch-8.1.3 export ES_PATH_CONF=/Users/mauro/Programacion/Herramientas/elasticsearch-8.1.3/config export JAVA_HOME=$(/usr/libexec/java_home) export PATH=$JAVA_HOME/bin:$PATH export CLASS_PATH=$JAVA_HOME/lib Descargar la version para "Mac aarch64" https://www.el...

Primer vista y configuracion de URLs - Django

Las vistas son donde se pone la logica, que buscara los datos a traves del modelo y se la pasara a los template para que la muestren en el navegador. Cada aplicacion tiene un archivo views.py. En este se ponen las vistas con funciones o clases. Estas vistas representaran paginas, dentro del archivo views.py se pueden tener tantas vistas como paginas se necesite. Para que las vistas puedan ser llamadas desde en navegador, hay dos formas. Una poniendo toda la configuracion en el archivo urls.py. Y la otra es crear un archivo urls.py igual al del proyecto pero en cada aplicacion. Y en el archivo principa, que seria el urls.py del proyecto hacer la referencia a los de las aplicaciones. En el ejemplo las aplicaciones se crean en una capeta llamada apps. Pero tambien se pueden crear en el mismo nivel que la carpeta del proyecto. Estructura del proyecto En rojo se ve la aplicaciones proyecto, en verde el proyecto tarea y en azul la aplicacion tarea. Archivo src/apps/proyecto/view...

Habilitar panel de administracion y ver los modelos dentro - Django

Para registrar los modelos y poder verlos en el panel de administración, hay que agregarlos en cada archivo admin.py de cada modelo. admin.site.register(Nombre_Del_Modelo)

Crear super usuario en Django

Para poder usar la pagina de administracion de Dajngo, hay que activar un super usuario. manage.py createsuperuser

Relaciones en modelos de Django

Formas de relacion disponibles ForeignKey OneToOneField ManyToManyField id = models.ForeignKey(NombreModelo, null=False, blank=False, on_delete=models.CASCADE) id = models.OneToOneField(NombreModelo, null=False, blank=False, on_delete=models.CASCADE) id = models.ManyToManyField(NombreModelo) Ejemplo from django.db import models from django.utils.timezone import now class Proyecto(models.Model): idProyecto = models.AutoField(primary_key=True, null=False, blank=False) titulo = models.CharField(max_length=50) fecha_crecion = models.DateTimeField(default=now, blank=True) fecha_ult_mod = models.DateTimeField(auto_now=True) from django.db import models from apps.proyecto.models import Proyecto from django.utils.timezone import now class SubTarea(models.Model): idSubTarea = models.AutoField(primary_key=True) titulo = models.CharField(max_length=50) fecha_crecion = models.DateTimeField(default=now, blank=True) fecha_ult_mod = models.Dat...

Primer modelo en Django

Un modelo es la conexión con la base de datos en Django. Cada modelo representa una tabla en la base de datos. Los atributos en los modelos, representan a los campos en las tablas. Los nombres de los modelos tiene que ir en singular y con la primer letra en mayuscula. Los modelos heredan de: django.db.models.Model Los modelos a los que no se le asigna un id, el ORM se lo asigna automáticamente un campo primary key autoincremental. from django.db import models # Create your models here. class Tarea(models.Model): idTarea = models.AutoField(primary_key=True) titulo = models.CharField(max_length=50) Preparar los modelos para pasar a la base de datos python manage.py makemigrations Al preparar la migracion se crea un archivo de migracion. Pasar cambios de modelos a base de datos python manage.py migrate Cuando se crea la tabla, el nombre queda "modelo"_"nombre de la clase" Documentacion Tipos comunes de campos en modelos. ...