{"id":80636,"date":"2021-04-21T20:26:55","date_gmt":"2021-04-21T14:56:55","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=80636"},"modified":"2026-06-03T15:28:22","modified_gmt":"2026-06-03T09:58:22","slug":"book-store-management-system-python-django-project","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/","title":{"rendered":"Book Store Management System &#8211; Python Django Project"},"content":{"rendered":"<p>Create a simple book store management system project using python django.<\/p>\n<p>The Book store management system is a beginner-level project. We will be using Django (python framework) to develop this project.<\/p>\n<h3>Project Prerequisites<\/h3>\n<p>We will use the following technologies:<\/p>\n<p><strong>Front-end technologies:<\/strong><\/p>\n<ul>\n<li>HTML<\/li>\n<li>CSS<\/li>\n<li>Bootstrap<\/li>\n<\/ul>\n<p><strong>Back-end technologies:<\/strong><\/p>\n<ul>\n<li>Python<\/li>\n<li>Django framework<\/li>\n<\/ul>\n<p>To install the django, you can use the pip installer from cmd\/terminal.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">pip install Django\r\n<\/pre>\n<h3>Download Book Store Management System Python Code<\/h3>\n<p>Please download the source code of book store project: <a href=\"https:\/\/drive.google.com\/file\/d\/1q2x-gfnY9v0EqsedCzMh_jbgc1tRoUF8\/view?usp=drive_link\"><strong>Book Store Management System Code<\/strong><\/a><\/p>\n<h3>Steps to Build the Book Store Project<\/h3>\n<p>To start the work on book store project, please run below commands in cmd\/terminal<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">django-admin startproject bookstore\r\ncd bookstore\r\ndjango-admin startapp book\r\n<\/pre>\n<h4>1. Writing Models<\/h4>\n<p>We are using sqlite3 database (the default database in Django). So we just have to define the classes in models.py file and the tables will be automatically created.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">from django.db import models\r\nfrom django.contrib.auth.models import User\r\n \r\n# Create your models here.\r\nclass Book(models.Model):\r\n    title=models.CharField(max_length=200,null=True)\r\n    Author=models.CharField(max_length=200,null=True)\r\n    Price=models.IntegerField()\r\n    Edition=models.IntegerField()\r\n \r\n    def __str__(self):\r\n        return str(self.title)\r\n \r\nclass Customer(models.Model):\r\n    user = models.OneToOneField(User, null=True, on_delete=models.CASCADE)\r\n    name=models.CharField(max_length=200,null=True)\r\n    phone=models.CharField(max_length=200,null=True)\r\n    email=models.CharField(max_length=200,null=True)\r\n    date_created=models.DateTimeField(auto_now_add=True,null=True)\r\n    \r\n    def __str__(self):\r\n        return str(self.name)\r\n \r\nclass Cart(models.Model): \r\n    customer=models.OneToOneField(Customer, null=True, on_delete=models.CASCADE) \r\n    books=models.ManyToManyField(Book)    \r\n \r\n    def __str__(self):\r\n        return str(self.customer)\r\n<\/pre>\n<p><strong>Explanation:<\/strong><\/p>\n<p><strong>Book:<\/strong> This model stores the information related to books like author, title, price, and edition.<\/p>\n<p><strong>Customer:<\/strong> This model stores customer\u2019s name, phone number, email, and date.<\/p>\n<p><strong>Cart:<\/strong> This stores all the books added by a particular customer in his\/her cart.<\/p>\n<p>To create tables, run the following commands on cmd\/terminal<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Py manage.py makemigrations\r\nPy manage.py migrate\r\n<\/pre>\n<h4>2. forms.py<\/h4>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">from django.forms import ModelForm\r\nfrom .models import *\r\nfrom django.contrib.auth.forms import UserCreationForm\r\nfrom django.contrib.auth.models import User\r\n \r\nclass createuserform(UserCreationForm):\r\n    class Meta:\r\n        model=User\r\n        fields=['username','password'] \r\n \r\nclass createcustomerform(ModelForm):\r\n    class Meta:\r\n        model=Customer\r\n        fields='__all__'\r\n        exclude=['user']\r\n \r\nclass createbookform(ModelForm):\r\n    class Meta:\r\n        model=Book\r\n        fields='__all__'\r\n<\/pre>\n<p>This code is simple because django does it all for us, we are just importing and calling the inbuilt functions in book store project.<\/p>\n<h4>3. admin.py<\/h4>\n<p>To access, add, delete or modify database entries using admin panel, add the following code in admin.py<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">from django.contrib import admin\r\nfrom .models import *\r\n \r\n# Register your models here.\r\nadmin.site.register(Book)\r\nadmin.site.register(Cart)\r\nadmin.site.register(Customer)\r\n<\/pre>\n<p>We also need a superuser to access the admin panel. Command to create superuser<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">py manage.py createsuperuser\r\n<\/pre>\n<p>It will ask for the superuser name, email and password.<\/p>\n<h4>4. urls.py<\/h4>\n<p>We will create separate urls.py for each app. Thus, we have to include the new urls.py in the book store project\u2019s urls.py.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\"\"\"bookstore URL Configuration\r\n \r\nThe `urlpatterns` list routes URLs to views. For more information please see:\r\n    https:\/\/docs.djangoproject.com\/en\/3.1\/topics\/http\/urls\/\r\nExamples:\r\nFunction views\r\n    1. Add an import:  from my_app import views\r\n    2. Add a URL to urlpatterns:  path('', views.home, name='home')\r\nClass-based views\r\n    1. Add an import:  from other_app.views import Home\r\n    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')\r\nIncluding another URLconf\r\n    1. Import the include() function: from django.urls import include, path\r\n    2. Add a URL to urlpatterns:  path('blog\/', include('blog.urls'))\r\n\"\"\"\r\nfrom django.contrib import admin\r\nfrom django.urls import path,include\r\n \r\nurlpatterns = [\r\n    path('admin\/', admin.site.urls),\r\n    path('',include('book.urls')),\r\n]\r\n \r\n book\/urls.py:\r\nCode:\r\nfrom django.urls import path\r\nfrom django.contrib.auth import views as auth_views\r\nfrom .views import *\r\n \r\nurlpatterns =[\r\n    path('', home,name='home'),\r\n    path('login\/', loginPage,name='login'),\r\n    path('viewcart\/', viewcart,name='viewcart'),\r\n    path('addbook\/', addbook,name='addbook'),\r\n    path('register\/', registerPage,name='register'),\r\n    path('logout\/', logoutPage,name='logout'),\r\n    path('addtocart\/&lt;str:pk&gt;', addtocart,name='addtocart'),\r\n]\r\n<\/pre>\n<h4>5. views.py:<\/h4>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">from django.shortcuts import render,redirect\r\nfrom django.http import HttpResponse\r\nfrom .models import *\r\nfrom django.contrib.auth import login,logout,authenticate\r\nfrom .forms import *\r\n \r\n# Create your views here.\r\ndef home(request):\r\n    books=Book.objects.all()\r\n    context={'books':books}\r\n    if request.user.is_staff:\r\n        return render(request,'book\/adminhome.html',context)\r\n    else:    \r\n        return render(request,'book\/home.html',context)\r\n \r\ndef logoutPage(request):\r\n    logout(request)\r\n    return redirect('\/')\r\n \r\ndef loginPage(request):\r\n    if request.user.is_authenticated:\r\n        return redirect('home')\r\n    else:\r\n       if request.method==\"POST\":\r\n        username=request.POST.get('username')\r\n        password=request.POST.get('password')\r\n        user=authenticate(request,username=username,password=password)\r\n        if user is not None:\r\n            print(\"working\")\r\n            login(request,user)\r\n            return redirect('\/')\r\n       context={}\r\n       return render(request,'book\/login.html',context)\r\n \r\ndef registerPage(request):\r\n    form=createuserform()\r\n    cust_form=createcustomerform()\r\n    if request.method=='POST':\r\n        form=createuserform(request.POST)\r\n        cust_form=createcustomerform(request.POST)\r\n        if form.is_valid() and cust_form.is_valid():\r\n            user=form.save()\r\n            customer=cust_form.save(commit=False)\r\n            customer.user=user \r\n            customer.save()\r\n            return redirect('login')\r\n    context={\r\n        'form':form,\r\n        'cust_form':cust_form,\r\n    }\r\n    return render(request,'book\/register.html',context)\r\n \r\ndef addbook(request):\r\n    form=createbookform()\r\n    if request.method=='POST':\r\n        form=createbookform(request.POST)\r\n        if form.is_valid():\r\n            form.save()\r\n        return redirect('\/')\r\n \r\n    context={'form':form}\r\n    return render(request,'book\/addbook.html',context)\r\n \r\ndef viewcart(request):\r\n    cust=Customer.objects.filter(user=request.user)\r\n    for c in cust:\r\n        carts=Cart.objects.all()\r\n        for cart in carts:\r\n            if(cart.customer==c):\r\n                context={\r\n                    'cart':cart\r\n                }\r\n                return render(request,'book\/viewcart.html',context)  \r\n        else:\r\n            return render(request,'book\/emptycart.html') \r\n            \r\n \r\ndef addtocart(request,pk):\r\n    book=Book.objects.get(id=pk)\r\n    cust=Customer.objects.filter(user=request.user)\r\n    \r\n    for c in cust:       \r\n        carts=Cart.objects.all()\r\n        reqcart=''\r\n        for cart in carts:\r\n            if(cart.customer==c):\r\n                reqcart=cart\r\n                break\r\n        if(reqcart==''):\r\n            reqcart=Cart.objects.create(\r\n                customer=c,\r\n            )\r\n        reqcart.books.add(book)    \r\n    return redirect('\/')\r\n<\/pre>\n<p><strong>We have created seven views in this file:<\/strong><\/p>\n<p><strong>1. Home<\/strong><\/p>\n<p>This is the home page for both admin and customer of book store management system. It renders all the \u2018book\u2019 objects to templates which displays all the details of the books based on the access rights of the user.<\/p>\n<p><strong>Admin\u2019s home page:<\/strong><\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/04\/admin-home-book-store.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-80639\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/04\/admin-home-book-store.png\" alt=\"admin home book store\" width=\"1366\" height=\"729\" \/><\/a><\/p>\n<p>The navbar is also different for both the users. For customers, the view cart option is available and for admin add books option is present. Also the add to cart button is only for customers.<\/p>\n<p><strong>2. Logout:<\/strong><\/p>\n<p>This view provides the logout functionality.<\/p>\n<p><strong>3. Login:<\/strong><\/p>\n<p>It first checks whether the user is authenticated or not. If the user is authenticated then it redirects to the home page otherwise it will check the user credentials and then after verifying it will change the state to logged in.<\/p>\n<p><strong>4. Register:<\/strong><\/p>\n<p>It is very similar to login view. It just creates a new Customer and then it redirects to the login page.<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/04\/book-store-register.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-80641\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/04\/book-store-register.png\" alt=\"book store register\" width=\"1366\" height=\"728\" \/><\/a><\/p>\n<p><strong>5. Addbook:<\/strong><\/p>\n<p>This view is just for admin. We are using the createbookform() here which we have already discussed in forms.py section. After adding a book in the database, it redirects to the home page.<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/04\/add-books.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-80640\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/04\/add-books.png\" alt=\"add books\" width=\"1366\" height=\"728\" \/><\/a><\/p>\n<p><strong>6. Viewcart:<\/strong><\/p>\n<p>It is a customer view. Here we are just rendering the cart of the current user to viewcart.html which displays all the books in the cart. It also checks whether the cart is empty.<\/p>\n<p><strong>7.Addtocart:<\/strong><\/p>\n<p>This is also a customer view. If the cart of the current user is empty, it will create a new cart for the user. After that it adds the requested book in the cart.<\/p>\n<h4>6. templates<\/h4>\n<p><strong>Addbook.html<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">{% extends 'book\/main.html' %}\r\n{% load static%}\r\n{% block content %}\r\n\r\n&lt;div class=\"container jumbotron\"&gt;\r\n    &lt;form method=\"POST\" action=\"\" &gt;\r\n        {% csrf_token %}\r\n        {{form.as_p}}\r\n       \r\n        &lt;input class=\"btn btn-success\" type=\"submit\" value=\"Add book\"&gt;\r\n    &lt;\/form&gt;\r\n&lt;\/div&gt;\r\n{% endblock %}\r\n<\/pre>\n<p><strong>Emptycart.html<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">{% extends 'book\/main.html' %}\r\n{% load static%}\r\n{% block content %}\r\n\r\n&lt;div class=\"container jumbotron\"&gt;\r\n    &lt;h1&gt;Your cart is empty!!!&lt;\/h1&gt;\r\n&lt;\/div&gt;\r\n{% endblock %}\r\n<\/pre>\n<p><strong>Home.html<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">{% extends 'book\/main.html' %}\r\n \r\n{% block content %}\r\n \r\n&lt;br&gt;\r\n \r\n&lt;div class=\"container\"&gt;\r\n&lt;div class=\"container row\"&gt;\r\n    &lt;div class=\"col-lg-10\"&gt;\r\n        &lt;h3&gt;BOOKS:&lt;\/h3&gt;\r\n        &lt;div class=\"card card-body\"&gt;\r\n            &lt;table class=\"table table-sm\"&gt;\r\n                &lt;tr&gt;\r\n                    &lt;th&gt;&lt;Title&gt;&lt;\/Title&gt;&lt;\/th&gt;\r\n                    &lt;th&gt;Author&lt;\/th&gt;\r\n                    &lt;th&gt;Price&lt;\/th&gt;\r\n                    &lt;th&gt;Edition&lt;\/th&gt;\r\n                    &lt;th&gt;&lt;\/th&gt;\r\n                &lt;\/tr&gt;\r\n                {% for book in books %}\r\n                &lt;tr&gt;\r\n                    &lt;td&gt;&lt;b&gt;{{book.title}}&lt;\/b&gt; &lt;\/td&gt;\r\n                    &lt;td&gt;{{book.Author}} &lt;\/td&gt;\r\n                    &lt;td&gt;{{book.Price}} &lt;\/td&gt;\r\n                    &lt;td&gt; {{book.Edition}} &lt;\/td&gt;\r\n                    &lt;td&gt;&lt;a class=\"btn btn-sm btn-info\" href=\"{% url 'addtocart' book.id %}\"&gt;Add to cart&lt;\/a&gt; &lt;\/td&gt;\r\n                &lt;\/tr&gt;\r\n                {% endfor %}\r\n            &lt;\/table&gt;\r\n        &lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n \r\n    \r\n&lt;\/div&gt;\r\n \r\n{% endblock %}\r\n<\/pre>\n<p><strong>Login.html<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">{% extends 'book\/main.html' %}\r\n{% load static%}\r\n{% block content %}\r\n&lt;div class=\"container jumbotron\"&gt;\r\n    &lt;form method=\"POST\" action=\"\"&gt;\r\n        {% csrf_token %}\r\n        &lt;p&gt;&lt;input type=\"text\" name=\"username\" placeholder=\"Username...\"&gt;&lt;\/p&gt;\r\n        &lt;p&gt;&lt;input type=\"password\" name=\"password\" placeholder=\"Password...\" &gt;&lt;\/p&gt;\r\n        &lt;input class=\"btn btn-success\" type=\"submit\" value=\"Login\"&gt;\r\n        &lt;p&gt;Do not have an account&lt;a href='{% url 'register' %}'&gt;Register&lt;\/a&gt;&lt;\/p&gt;\r\n    &lt;\/form&gt;\r\n&lt;\/div&gt;\r\n{% endblock %}\r\n<\/pre>\n<p><strong>Main.html<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">{% load static %}\r\n&lt;html&gt;\r\n    &lt;head&gt;\r\n        &lt;title&gt;\r\n            Bookstore Management System\r\n        &lt;\/title&gt;\r\n        &lt;link rel=\"stylesheet\" href=\"https:\/\/stackpath.bootstrapcdn.com\/bootstrap\/4.5.0\/css\/bootstrap.min.css\" integrity=\"sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk\" crossorigin=\"anonymous\"&gt;\r\n    &lt;\/head&gt;\r\n    &lt;body&gt;        \r\n        {% include 'book\/navbar.html' %}\r\n        {% block content %}   \r\n        {% endblock %}\r\n        &lt;br&gt;\r\n       \r\n        &lt;script src=\"https:\/\/code.jquery.com\/jquery-3.5.1.slim.min.js\" integrity=\"sha384-DfXdz2htPH0lsSSs5nCTpuj\/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj\" crossorigin=\"anonymous\"&gt;&lt;\/script&gt;\r\n&lt;script src=\"https:\/\/cdn.jsdelivr.net\/npm\/popper.js@1.16.0\/dist\/umd\/popper.min.js\" integrity=\"sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo\" crossorigin=\"anonymous\"&gt;&lt;\/script&gt;\r\n&lt;script src=\"https:\/\/stackpath.bootstrapcdn.com\/bootstrap\/4.5.0\/js\/bootstrap.min.js\" integrity=\"sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh\/kR0JKI\" crossorigin=\"anonymous\"&gt;&lt;\/script&gt;\r\n    &lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p><strong>Navbar.html<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">{% load static %}\r\n \r\n&lt;style&gt;\r\n  .hello-msg{\r\n    font-size: 18px;\r\n    color: #fff;\r\n    margin-right: 20px;\r\n  }\r\n&lt;\/style&gt;\r\n \r\n&lt;nav class=\"navbar navbar-expand-lg navbar-dark bg-dark\"&gt;\r\n  &lt;button class=\"navbar-toggler\" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbarNav\" aria-controls=\"navbarNav\" aria-expanded=\"false\" aria-label=\"Toggle navigation\"&gt;\r\n    &lt;span class=\"navbar-toggler-icon\"&gt;&lt;\/span&gt;\r\n  &lt;\/button&gt;\r\n  &lt;div class=\"collapse navbar-collapse\" id=\"navbarNav\"&gt;\r\n \r\n    &lt;ul class=\"navbar-nav\"&gt;\r\n      \r\n      &lt;li class=\"nav-item active\"&gt;\r\n        &lt;a class=\"nav-link\" href=\"{% url 'home' %}\"&gt;Home&lt;\/a&gt;\r\n      &lt;\/li&gt;\r\n      {% if request.user.is_staff %}\r\n      &lt;\/li&gt;\r\n      &lt;li class=\"nav-item active\"&gt;\r\n        &lt;a class=\"nav-link\" href=\"{% url 'addbook' %}\"&gt;Add Books&lt;\/a&gt;\r\n      &lt;\/li&gt;\r\n      {% else %}\r\n      &lt;li class=\"nav-item\"&gt;\r\n        &lt;a class=\"nav-link\" href=\"{% url 'viewcart' %}\"&gt;Cart&lt;\/a&gt;\r\n      &lt;\/li&gt;\r\n      {% endif %}\r\n      &lt;li class=\"nav-item\"&gt;\r\n        &lt;a class=\"nav-link\" href=\"{% url 'login' %}\"&gt;Login&lt;\/a&gt;\r\n      &lt;\/li&gt;\r\n    &lt;\/ul&gt;\r\n  &lt;\/div&gt;\r\n \r\n  &lt;span class=\"hello-msg\"&gt;Hello, {{request.user}}&lt;\/span&gt;\r\n  &lt;span &gt;&lt;a  class=\"hello-msg\" href=\"{% url 'logout' %}\"&gt;Logout&lt;\/a&gt;&lt;\/span&gt;\r\n \r\n&lt;\/nav&gt;\r\n<\/pre>\n<p><strong>Register.html<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">{% extends 'book\/main.html' %}\r\n{% load static%}\r\n{% block content %}\r\n&lt;div class=\"container jumbotron\"&gt;\r\n    &lt;form method=\"POST\" action=\"\" &gt;\r\n        {% csrf_token %}\r\n        {{form.as_p}}\r\n        {{cust_form.as_p}} \r\n       \r\n        &lt;input class=\"btn btn-success\" type=\"submit\" value=\"Register Account\"&gt;\r\n    &lt;\/form&gt;\r\n&lt;\/div&gt;\r\n{% endblock %}\r\n<\/pre>\n<p><strong>Viewcart.html<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">{% extends 'book\/main.html' %}\r\n{% load static%}\r\n{% block content %}\r\n \r\n&lt;div class=\"container\"&gt;\r\n    &lt;div class=\"row\"&gt;\r\n        &lt;div class=\"col-lg-10\"&gt;\r\n            &lt;br&gt;\r\n            &lt;h5&gt;BOOKS:&lt;\/h5&gt;\r\n            &lt;div class=\"card card-body\"&gt;            \r\n                &lt;table class=\"table table-sm\"&gt;\r\n                    &lt;tr&gt;\r\n                        &lt;th&gt;Title&lt;\/th&gt;\r\n                        &lt;th&gt;Author&lt;\/th&gt;\r\n                        &lt;th&gt;Price&lt;\/th&gt;\r\n                        &lt;th&gt;Edition&lt;\/th&gt;\r\n                    &lt;\/tr&gt;\r\n                    {% for book in cart.books.all %}\r\n                    &lt;tr&gt;\r\n                        &lt;td&gt;{{book.title}} &lt;\/td&gt;\r\n                        &lt;td&gt;{{book.Author}} &lt;\/td&gt;\r\n                        &lt;td&gt;{{book.Price}} &lt;\/td&gt;\r\n                        &lt;td&gt;{{book.Edition}} &lt;\/td&gt;\r\n                    &lt;\/tr&gt;\r\n                    {% endfor %}\r\n                &lt;\/table&gt;\r\n            &lt;\/div&gt;\r\n        &lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n&lt;\/div&gt;\r\n{% endblock %}\r\n<\/pre>\n<h3>Summary<\/h3>\n<p>We have successfully developed a Bookstore management system project in python. We have used the Django framework to develop it, you can check other Python Django projects available on the website.<\/p>\n<p>Happy Coding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Create a simple book store management system project using python django. The Book store management system is a beginner-level project. We will be using Django (python framework) to develop this project. Project Prerequisites We&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":80642,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3383],"tags":[3385,3386,3382,483],"class_list":["post-80636","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-django","tag-book-store-management-system","tag-book-store-project","tag-django-project","tag-python-project"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Book Store Management System - Python Django Project - TechVidvan<\/title>\n<meta name=\"description\" content=\"Book Store Management System - Python Django Project. Learn how to create online book store management using Django with source code\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Book Store Management System - Python Django Project - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"Book Store Management System - Python Django Project. Learn how to create online book store management using Django with source code\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/\" \/>\n<meta property=\"og:site_name\" content=\"TechVidvan\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/TechVidvan\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-21T14:56:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-03T09:58:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/04\/book-store-management-system-python.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:site\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TechVidvan Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Book Store Management System - Python Django Project - TechVidvan","description":"Book Store Management System - Python Django Project. Learn how to create online book store management using Django with source code","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/","og_locale":"en_US","og_type":"article","og_title":"Book Store Management System - Python Django Project - TechVidvan","og_description":"Book Store Management System - Python Django Project. Learn how to create online book store management using Django with source code","og_url":"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2021-04-21T14:56:55+00:00","article_modified_time":"2026-06-03T09:58:22+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/04\/book-store-management-system-python.jpg","type":"image\/jpeg"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@vidvantech","twitter_site":"@vidvantech","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"Book Store Management System &#8211; Python Django Project","datePublished":"2021-04-21T14:56:55+00:00","dateModified":"2026-06-03T09:58:22+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/"},"wordCount":617,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/04\/book-store-management-system-python.jpg","keywords":["book store management system","book store project","Django Project","Python project"],"articleSection":["Django Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/","url":"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/","name":"Book Store Management System - Python Django Project - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/04\/book-store-management-system-python.jpg","datePublished":"2021-04-21T14:56:55+00:00","dateModified":"2026-06-03T09:58:22+00:00","description":"Book Store Management System - Python Django Project. Learn how to create online book store management using Django with source code","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/04\/book-store-management-system-python.jpg","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/04\/book-store-management-system-python.jpg","width":1200,"height":628,"caption":"book store management system python"},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/book-store-management-system-python-django-project\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Book Store Management System &#8211; Python Django Project"}]},{"@type":"WebSite","@id":"https:\/\/techvidvan.com\/tutorials\/#website","url":"https:\/\/techvidvan.com\/tutorials\/","name":"TechVidvan Blogs","description":"","publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/techvidvan.com\/tutorials\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/techvidvan.com\/tutorials\/#organization","name":"TechVidvan","url":"https:\/\/techvidvan.com\/tutorials\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","width":200,"height":50,"caption":"TechVidvan"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/TechVidvan\/","https:\/\/x.com\/vidvantech"]},{"@type":"Person","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22","name":"TechVidvan Team","description":"The TechVidvan Team delivers practical, beginner-friendly tutorials on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our experts are here to help you upskill and excel in today\u2019s tech industry."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/80636","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/comments?post=80636"}],"version-history":[{"count":2,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/80636\/revisions"}],"predecessor-version":[{"id":448083,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/80636\/revisions\/448083"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/80642"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=80636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=80636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=80636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}