Introducción
Django es un framework de aplicaciones web gratuito y de código abierto (open source) escrito en Python. Un framework web es un conjunto de componentes que te ayudan a desarrollar sitios web más fácil y rápidamente.
https://www.djangoproject.com/download/
Iniciando en el aprendizaje de django, desarrollé éste proyecto, en el que incluí algunas de las funciones que se requieren en proyectos que se usan en producción. Éste proyecto no es para usarse en producción, es solo para aprender, y ver una forma de hacer las cosas utilizando o no ajax, una idea sobre todo. Sobre todo le será útil a quién comience a desarrollar en éste framework.
Funciones
- Login
- Registro
- Actualización de perfil
- Imagen de perfil
- Búsqueda simple con scroll infinito y ajax
- Uso de ajax en guardado de datos
- Paginación usando ajax
- Eliminación de registros usando ajax
- Actualización de registros sin ajax
- Subida de imágenes con ajax
- Uso de mariadb
Requerimientos
El proyecto se desarrolló bajo fedora 34, sin embargo, lo pueden probar en otros entornos, siempre y cuando se instalen las dependencias y paquetes necesarios para su funcionamiento.
- Fedora 34 (no probado en otro SO)
- Bootstrap 5.0.1
- Jquery 3.6.0
- Django 3.2.3
- Python 3.9.5
- mariadb 10.4
Instalación de dependencias en Fedora 34
sudo dnf install python3-devel mysql-devel python3-virtualenv
export MYSQLCLIENT_CFLAGS=`pkg-config mysqlclient --cflags`
export MYSQLCLIENT_LDFLAGS=`pkg-config mysqlclient --libs`
Instalación de XAMPP o mariadb de manera local, cualquiera de las dos opciones es viable, pero sugiero que sea usando XAMPP, es más fácil.
https://blog.linuxitos.com/post/instalar-xampp-8-0-3-fedora-34
Una vez instalado xampp y configurado los usuarios y contraseñas, es necesario crear la base de datos con el nombre django_app1
Configurar el proyecto
Clonar proyecto
El proyecto se pude descargar de aquí https://gitlab.com/ferm/djando-crud-ajax-login
git clone git@gitlab.com:ferm/djando-crud-ajax-login.git
Crear el entorno virtual
virtualenv -p python3 .
Activar el entorno de python
source bin/activate
Instalar requerimientos
pip3 install -r requirements.txt
Configurar archivo settings.py para base de datos
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'django_app1', 'USER': 'ususus', 'PASSWORD': 'asdhadjkhsd', 'HOST': '127.0.0.1', 'PORT': '3306', 'OPTIONS': { 'charset': 'utf8', 'use_unicode': True, 'init_command': 'SET ' 'storage_engine=INNODB,' 'character_set_connection=utf8,' 'collation_connection=utf8_bin' }, 'TEST_CHARSET': 'utf8', 'TEST_COLLATION': 'utf8_general_ci', } }
Configurar la conexión a la base de datos, de acuerdo a los datos propios que se usen:
Generar archivo de migraciones
python manage.py makemigrations
Migrar a la base de datos
python manage.py migrate
Iniciar servidor
python manage.py runserver
Al entrar a la url, del proyecto http://127.0.0.1:8000
Y si hay errores o algo, favor de dejar un comentario y espero poder ayudar.