Blog realizado en Python con Django, como parte del proyecto final del curso "Python" de Coderhouse.
Tabla de contenidos
- Registro y login de usuarios mediante autenticación con Django
- Vista de perfil de usuario con el detalle de cantidad de entradas y comentarios realizados, con los respectivos títulos y links de las entradas afectadas en cada caso.
- Edición de perfil de usuario, pudiendo incorporar biografía y avatar si lo desea. El avatar una vez añadido, puede eliminarse también.
- Edición de password separada del resto de campos editables.
- Eliminación de cuenta de usuario, con la respectiva eliminación de las entradas y comentarios por él mismo realizados.
Todos los usuarios, logueados o no, tienen acceso a la vista principal del blog, así como al detalle de las entradas. Sin embargo, para acceder a ciertas funcionalidades, éstos deberán estar registrados y logueados. Éstas funcionalidades son:
- Creación de entradas nuevas (con campo de texto enriquecido)
- Edición de entradas (un usuario sólo podrá editar si él mismo es el autor de la entrada)
- Eliminación de entradas (sólo podrá eliminar una entrada quien la haya creado)
- Comentar una entrada
- Eliminar el comentario (sólo si el usuario es quien lo ha realizado)
Por su parte, dentro de cada entrada se puede visualizar un apartado de "Entradas relacionadas", el cuál se basa en mostrar aquellas que pertenezcan a la misma categoría que la entrada a la que se ha accedido.
Finalmente, en la pantalla de inicio se observa el listado de entradas, con un apartado de búsqueda por título; y el acceso a la vista "About" desde la barra de navegación.
Registrando un superusuario, es posible acceder al panel de admin de Django y acceder a toda la información de los modelos.
- Herencia de HTML
- Formularios:
- mediante HTML
- que heredan de los modelos de Form de django
- de búsqueda
- con campos de texto enriquecido
- Arquitectura MVT
- Uso de clases basadas en vistas
- Uso de decoradores y mixins
- Registro de los modelos en el panel de admin de Django
- Django
- django-ckeditor
- Pillow
git clone https://github.com/valessol/django-store.git
cd django-store
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver