Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hashimthepassionate/django-for-everyone
Welcome to the ultimate Django repository! Whether you're a beginner or seasoned developer, here you'll find everything to master Django. Dive into tutorials, projects, and join a vibrant community to stay updated with the latest in Django development. Start building powerful web applications today!
https://github.com/hashimthepassionate/django-for-everyone
authentication authorization django django-rest-framework form models oops-in-python orm templates validation
Last synced: 2 months ago
JSON representation
Welcome to the ultimate Django repository! Whether you're a beginner or seasoned developer, here you'll find everything to master Django. Dive into tutorials, projects, and join a vibrant community to stay updated with the latest in Django development. Start building powerful web applications today!
- Host: GitHub
- URL: https://github.com/hashimthepassionate/django-for-everyone
- Owner: HashimThePassionate
- Created: 2024-01-23T02:01:44.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-08T12:14:16.000Z (5 months ago)
- Last Synced: 2024-09-08T13:40:40.821Z (5 months ago)
- Topics: authentication, authorization, django, django-rest-framework, form, models, oops-in-python, orm, templates, validation
- Language: CSS
- Homepage:
- Size: 3.44 MB
- Stars: 29
- Watchers: 2
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# π Django for Everyone
Welcome to **Django for Everyone**! π This repository is your one-stop resource for learning Django, whether you're a beginner looking to build your first web app or a professional seeking to master advanced features. Letβs dive into Django with two learning paths designed to suit your style and goals! π
## π€οΈ Learning Paths to Master Django
Weβve split the content into two main learning paths. Choose the one that best suits your needs:
### Path 1: Project-Based Learning π
If you love learning by doing, this is the path for you! In the **Projects Directory**, you'll find different project-based tracks:
#### π [01_learn_django_for_beginners](https://github.com/HashimThePassionate/django-for-everyone/tree/main/projects/01_learn_django_for_beginners)
- **Best for**: Those just starting with Django.
- **What you'll build**: A complete **Blog Application** from scratch.
- **Why it's awesome**: Youβll learn the fundamentals of Django, including how to set up your project, manage views, templates, and user authentication, and deploy your app on **Heroku**.
- **Covered Topics**:
- Setting up a Django environment.
- Creating views, templates, and forms.
- Handling user authentication.
- Deploying your app to **Heroku**.
#### π [02_learn_django_for_professionals](https://github.com/HashimThePassionate/django-for-everyone/tree/main/projects/02_learn_django_for_professionals)
- **Best for**: Developers familiar with Django who want to build more advanced applications.
- **What you'll build**: A **Django-powered store** with **Docker** and **PostgreSQL**.
- **Why it's awesome**: This project covers advanced Django features like user permissions, Docker integration, and deployment on **Heroku**.
- **Covered Topics**:
- Setting up Django with **Docker** and **PostgreSQL**.
- Advanced user registration and authentication.
- Adding **search** and **permissions** functionalities.
- Deploying a production-ready app on **Heroku**.
-
#### π [03_django_rest_framework](./projects/03_django_rest_framework/)
- **Best for**: Developers looking to build RESTful APIs with Django.
- **What you'll build**: A full-featured REST API using Django and Django REST Framework (DRF).
- **Why it's awesome**: You'll learn how to create, read, update, and delete resources via APIs, work with viewsets, serializers, and handle complex queries through Django's ORM.- **Covered Topics**:
- Setting up **Django REST Framework**.
- Building API endpoints for your Django models.
- Using **viewsets** and **routers** for efficient URL routing.
- Creating **serializers** to handle the conversion between Django models and JSON.
- Implementing **permissions** and **authentication** using DRF's built-in features.
- Deploying your Django REST API on platforms like `Heroku`.
---### Path 2: Feature-by-Feature Learning βοΈ
If you prefer learning one step at a time, mastering one concept at a time, follow our **feature-by-feature** path. Here, we deep dive into individual aspects of Django:
#### π [01_django_fundamentals](https://github.com/HashimThePassionate/django-for-everyone/tree/main/01_django_fundamentals)
- **What you'll learn**: The very basics of setting up Django, including setting up your environment, creating views, templates, and handling static files.
- **Covered Topics**:
- Setting up your Django environment.
- Creating and mapping views with URLs.
- Working with templates and static files.
- Debugging in VS Code.#### π [02_building_a_data_model](https://github.com/HashimThePassionate/django-for-everyone/tree/main/02_building_a_data_model)
- **What you'll learn**: How to build efficient and scalable data models for your Django app.
- **Covered Topics**:
- Introduction to data models.
- Creating and organizing models in apps.
- Defining relationships (one-to-one, one-to-many, many-to-many).
- Handling circular relationships.#### π [03_setting_up_database](https://github.com/HashimThePassionate/django-for-everyone/tree/main/03_setting_up_database)
- **What you'll learn**: How to set up databases for Django, with a focus on **MySQL** and **PostgreSQL**.
- **Covered Topics**:
- Supported database engines.
- Creating migrations and customizing database schema.
- Running custom SQL.
- Generating dummy data for testing.#### π [04_django_orm](https://github.com/HashimThePassionate/django-for-everyone/tree/main/04_django_orm)
- **What you'll learn**: Master Django's powerful ORM (Object Relational Mapper) for querying databases efficiently.
- **Covered Topics**:
- Retrieving and filtering objects.
- Performing complex lookups using `Q` and `F` objects.
- Sorting, limiting, and selecting fields.
- Aggregating and analyzing data with ORM.## π― How to Use This Repository
1. **Project-Based Learning**: If you want to learn Django by building real-world applications, head over to the **[Projects Directory](projects/)**. Start with **Beginners** if you're new to Django, or dive into **Professionals** if you're ready for more advanced challenges.
2. **Feature-by-Feature Learning**: If you prefer mastering one concept at a time, begin with **[Django Fundamentals](01_django_fundamentals/)** and progress through to **[Django ORM](04_django_orm/)**.3. **Deploy and Test**: Each project is designed to be deployable on **Heroku**. We provide step-by-step guides for deployment in each projectβs directory.
4. **Contribute**: Found an issue or want to suggest improvements? Feel free to contribute! We welcome pull requests.
>**If you find this repository helpful, please give it a star β! Your support helps keep this project going and encourages more content to be added. π**