A comprehensive collection of Django projects and exercises developed as part of the ALX Software Engineering program. This repository demonstrates progressive learning of Django web framework, from basic concepts to advanced features.
This repository contains multiple Django projects covering various aspects of web development with Django, including:
- Django fundamentals and project structure
- Database models and ORM
- RESTful API development
- Advanced features and security implementations
Alx_DjangoLearnLab/
│
├── Introduction_to_Django/ # Getting started with Django basics
│
├── django-models/ # Database models and relationships
│
├── api_project/ # Basic API development with Django REST Framework
│
├── advanced-api-project/ # Advanced API features and patterns
│
└── advanced_features_and_security/ # Security best practices and advanced Django features
- Python (87%) - Primary programming language
- HTML (13%) - Template rendering
- Django - Web framework
- Django REST Framework - API development
- SQLite/PostgreSQL - Database systems
- Python 3.8 or higher
- pip (Python package manager)
- Virtual environment (recommended)
- Clone the repository:
git clone https://github.com/lameckirungu/Alx_DjangoLearnLab.git
cd Alx_DjangoLearnLab- Create and activate a virtual environment:
# On Windows
python -m venv venv
venv\Scripts\activate
# On macOS/Linux
python3 -m venv venv
source venv/bin/activate- Navigate to a specific project directory and install dependencies:
cd <project-directory>
pip install -r requirements.txt # if requirements.txt exists- Run migrations:
python manage.py migrate- Start the development server:
python manage.py runserverFoundational Django concepts including:
- Project setup and configuration
- URL routing and views
- Templates and static files
Database modeling and ORM operations:
- Model creation and relationships
- Queries and database operations
- Model managers and custom methods
Basic REST API development:
- Setting up Django REST Framework
- Serializers and ViewSets
- API endpoints and routing
Advanced API features:
- Authentication and permissions
- Filtering, searching, and pagination
- Custom API views and mixins
Security implementations and advanced Django features:
- User authentication and authorization
- Security best practices (CSRF, XSS, SQL Injection prevention)
- Custom permissions and middleware
- Advanced Django features
- Understand Django's MVT (Model-View-Template) architecture
- Build and manage database models with Django ORM
- Create RESTful APIs using Django REST Framework
- Implement authentication and authorization
- Apply security best practices in web development
- Deploy Django applications
For more information about Django:
This is a learning repository, but suggestions and improvements are welcome! Feel free to:
- Fork the repository
- Create a feature branch
- Submit a pull request
This project is part of the ALX Software Engineering program.
lameckirungu
- GitHub: @lameckirungu
- ALX Africa for the comprehensive curriculum
- The Django community for excellent documentation and resources
This repository is actively maintained as part of ongoing learning and development.