This repository contains various Django projects aimed at strengthening your understanding of Django development, from beginner to advanced topics. These projects cover a broad range of features like CRUD operations, session management, user authentication, and Django REST Framework (DRF).
- Introduction
- Projects Overview
- Visual Guide
- Notes and Documentation
- Learning Path
- Setup Instructions
- Future Plans
- Django REST Framework
- Contributing
- License
This repository serves as a hands-on learning resource for mastering Django development. It features projects of increasing complexity that highlight various Django topics, from models and views to Django REST Framework (DRF) and advanced concepts like middleware and session management.
| Project | Description | Key Concepts |
|---|---|---|
| advtproject2 | Advanced template features and block tags. | Template inheritance, custom template tags. |
| authproject | User Authentication and Authorization system. | Login, logout, registration, permission handling. |
| cbvproject | CRUD operations using Class-Based Views (CBVs). | Introduction to CBVs, routing, and CRUD functionality. |
| fbvcrudproject | CRUD operations using Function-Based Views (FBVs). | FBVs, CRUD implementation, custom routing. |
| ormproject1 | Using Django ORM to query databases. | Querysets, database relationships, custom managers. |
| movieproject | Movie Project using Django Model Forms. | Model forms, CRUD operations, form validation. |
Each project folder is self-contained and includes detailed instructions on how to run it.
To better understand the flow of the key projects, visual aids such as flowcharts and diagrams are provided for clarity.
graph TD;
A[User Registration] --> B[Login];
B --> C[Profile Access];
C --> D[Logout];
graph TD;
X[URL Route] --> Y[Class-Based View];
Y --> Z[Model Interaction];
Z --> W[Template Rendering];
These visuals illustrate the core processes and architecture of the projects.
Extensive, detailed notes covering Django REST Framework and Django core concepts are available in the Learning_Notes repository. These notes contain explanations for key topics, including the nuances of each project.
The repository is structured to provide a comprehensive learning path for mastering Django:
- Django Fundamentals:
- Core concepts such as views, templates, and models.
- CRUD Operations:
- CRUD with Function-Based Views (FBVs) and Class-Based Views (CBVs).
- Forms and Validation:
- Form handling, validation techniques, and form customization.
- Authentication & Authorization:
- Secure authentication, permissions, and user handling.
- Session Management:
- Learning to manage user sessions in Django.
- Advanced Topics:
- JWT Authentication in Django REST Framework.
- Middleware for custom request-response processing.
- Optimizing database operations with Django ORM.
Once you’re comfortable with Django basics, you can dive deeper into Django REST Framework for building APIs, before moving on to Class-Based Views and CRUD operations.
To set up any project, follow the steps below:
-
Clone the repository:
git clone https://github.com/Khushal-Savalakha/Django-Practice-Projects.git cd Django-Practice-Projects -
Run the initial migrations:
python manage.py makemigrations
-
Apply the migrations:
python manage.py migrate
-
Run the development server:
python manage.py runserver
Each project includes further instructions in its respective folder.
In the coming months, I plan to:
- Finalize Session Management.
- Explore Middleware and Advanced Model Concepts in Django.
- Develop a comprehensive Blog Application that incorporates CRUD operations, authentication, and other advanced Django concepts.
To learn Django REST Framework (DRF), visit the DjangoRESTFramework-PracticeRepo repository. It focuses on mastering DRF and building robust API services.
Key topics covered include:
- APIView
- Serializers and ModelSerializers
- Authentication and Permissions
- JWT Tokens
- Testing APIs
Before starting with DRF, it’s essential to have a solid understanding of basic Django concepts, until CRUD operations using Class-Based Views (CBVs). You should practice these concepts in this repository until commit
d8051c7, which focuses on CRUD operations using CBVs. This will give you a strong foundation for working with Django REST Framework.
Feel free to request additional topics or features you’d like to see covered in the DRF repository, and I’ll gladly add them based on the demand!
Contributions are always welcome! Feel free to fork the repository, create issues, or submit pull requests. Be sure to review the contributing guidelines before contributing.
This project is licensed under the MIT License. See the LICENSE file for details.