Project Description: Workshop Music App
This project is part of the Python ORM course at Software University and involves building a Music App using Django, SQLAlchemy, and Alembic. Below is a brief overview of the key components and steps involved in setting up and developing the Music App.
Skeleton: The project provides HTML pages, images, and CSS files, offering a ready-to-use foundation for the development.
A Django app named "musics" and configured it within the project. Added templates and static files for HTML pages, images, and styles. Defined URLs for each app and included them in the main project urls.py. Setup SQLAlchemy and Alembic:
Database:
Two models are defined for the database: Album and Song, specifying their fields, relationships, and constraints. Used SQLAlchemy's ORM to define models and Alembic for database migrations. Generated and applied migration scripts to create and update the database schema. Routes:
Defined routes for different pages, such as index, album details, create album, edit album, delete album, and create song. Views:
Implemented Django views to handle HTTP requests, fetch data from the database, and render HTML templates. Created views for index, create album, album details, edit album, delete album, and create song. URLs:
Defined URL patterns for each app in the urls.py file. Template Inheritance:
Created a base template (base.html) for common elements like head, navigation bar, and footer. Used template inheritance to extend the base template in other templates. Pages:
Detailed descriptions and templates for base, index, create album, album details, edit album, delete album, and create song pages. Loading Static Files:
Utilized the load static template tag to load and render static files in Django templates. This README provides a comprehensive guide for setting up, configuring, and understanding the structure of the Music App project. It covers database setup, route definitions, view implementations, and template organization. Follow the outlined steps to run the project successfully.