Online Job Portal Project in Python Django with Source Code

Online Job Portal Project in Python Django with Source Code

A Online Job Portal Project in Django is a plan for an online career site. This online web application is to be conceived as a dynamic platform in its current form, requiring continuous changes from both the seekers and the businesses.

The purpose of the project is to encourage jobseekers to position their resumes and find appropriate jobs while companies to publish their vacancies and find good candidates. Jobseekers may use it to post their resumes, browse for jobs, and view personal work listings.

It will allow numerous businesses to post job openings on the web and will also allow them to scan applicant resumes. The goal of this Python project is to create an online portal where recruiters can post job openings and candidates can apply. Candidates can search for and apply for job openings.

To start creating a Online Job Portal in Django, makes sure that you have PyCharm Professional IDE Installed in your computer.

This Online Job Portal Project in Python Django also includes a Download Source Code for free, just find the downloadable source code below and click download now.

About ProjectProject DetailsDefinition
Project Name Online Job Portal Project in Python DjangoThis Online Job Portal Project in Python Django is created using Python Django Framework. The system is built fully in Django Framework in back-end and HTML, CSS and JavaScript in front-end. Basically, the project includes tutorials and guides for creating a code.
Python version (Recommended)3.8 VersionPython 3.8 introduces some new syntax to the language, as well as a few small modifications to existing behavior and, most importantly, a slew of performance improvements, following in the footsteps of the previous 3.7 version.
Programming Language UsedPython Django LanguageDjango is a high-level Python web framework for building safe and maintainable websites quickly. Django is a web framework built by experienced developers that takes care of a lot of the heavy lifting so you can focus on developing your app instead of reinventing the wheel.
Developer Name itsourcecode.comFree projects containing source code in Java, PHP, Python, Django, VB.Net, Visual Basic, C, C++, C#, Javascript, and other languages are available on this website.
IDE Tool (Recommended)Sublime, Visual Studio, PyCharmSublime Text is a source code editor that is available for purchase. It comes with built-in support for a variety of programming and markup languages. Plugins, which are often community-built and maintained under free-software licenses, allow users to extend the functionality of the system. Sublime Text has a Python API to help with plugins.
Project Type Web ApplicationA web application, unlike computer-based software programs that operate locally on the device’s operating system, is application software that runs on a web server. The user uses a web browser with an active network connection to access web apps.
DatabaseSQLiteSQLite is a programming language that is used to create embedded software for devices such as televisions, cell phones, and cameras. It can handle HTTP requests with low to medium traffic. SQLite has the ability to compress files into smaller bundles with less metadata. SQLite is a temporary dataset that is used within an application to process data.
Online Job Portal Project in Python Django Overview

Administrator Features of Online Job Portal Project in Python Django

  • Homepage– For the homepage, you will be able to all the basic access in the whole system. Such as home, about us, contact us, and registration of employee and employer.
  • Sign Up– For the sign up, you will fill the forms. Such as your username, password and email address.
  • Login – For the login, you must login first before you can access the system.
  • Manage jobseeker – The jobseeker’s applications for each job can be accessed by the admin user. The admin can add, update, and delete jobseeker’s information.
  • Manage employer – For the employer, The admin can add, update, and delete company information.
  • Manage posted jobs – For the posted jobs, The admin can add, update, and delete posted jobs.

Jobseeker Features of Online Job Portal Project in Python Django

  • Search Job – Jobseeker can search a job that can fit to there expertise.
  • Apply online – Jobseeker can apply online for their desired jobs.
  • Manage Profile – The Jobseeker can Add and Edit profile information including qualification, experience, and skills.
  • Sign Up– For the sign up, The jobseeker must fill the forms. Such as your first name, last name, password and email address.
  • Login – For the login, The jobseeker must login first before she/he can access the system.

Online Job Portal Project in Python Django With Source Code Steps on How to Create a Project

Time needed: 5 minutes.

Here’s the Steps on How to create a Online Job Portal Project in Python Django

  • Step 1: Open file.

    First , open “pycharm professional” after that click “file” and click “new project“.

  • Step 2: Choose Django.

    Next, after click “new project“, choose “Django” and click.
    Choosing-django-for-Creating-New-Project-for-Online Job Portal Project in Python Django with Source Code

  • Step 3: Select file location.

    Then, select a file location wherever you want.

  • Step 4: Create application name.

    After that, name your application.
    Create application name for Online Job Portal Project in Python Django With Source Code

  • Step 5: Click create.

    Lastly, finish creating project by clicking “create” button.
    FInish Creating Project for Online Job Portal Project in Python Django With Source Code

  • Step 6: Start Coding.

    Finally, we will now start adding functionality to our Django Framework by adding some functional codes.

This are the codes to add functionality for Online Job Portal Project in Python Django With Source Code

  • Create template for the homepage in Online Job Portal Project in Python Django.

In this section, we will learn on how create a templates for the homepage. To start with, add the following code in your base.html under the folder of template/jobs files.

{% load static %}
<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>{% block title %} {% endblock %} - Online Job Portal System</title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="robots" content="all,follow">
    <!-- Bootstrap CSS-->
    <link rel="stylesheet"
          href="{% static 'vendor/bootstrap/css/bootstrap.min.css' %}">
    <!-- Font Awesome CSS-->
    <link rel="stylesheet"
          href="{% static 'vendor/font-awesome/css/font-awesome.min.css' %}">
    <!-- Google fonts - Roboto for copy, Montserrat for headings-->
    <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,700">
    <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Montserrat:400,700">
    <!-- owl carousel-->
    <link rel="stylesheet"
          href="{% static 'vendor/owl.carousel/assets/owl.carousel.css' %}">
    <link rel="stylesheet"
          href="{% static 'vendor/owl.carousel/assets/owl.theme.default.css' %}">
    <!-- theme stylesheet-->
    <link rel="stylesheet" href="{% static 'css/style.default.css' %}"
          id="theme-stylesheet">
    <!-- Custom stylesheet - for your changes-->
    <link rel="stylesheet" href="{% static 'css/custom.css' %}">
    {% block styles %}{% endblock %}
    <!-- Favicon-->
    <link rel="shortcut icon" href="favicon.png">
    <!-- Tweaks for older IEs--><!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script><![endif]-->
</head>
<body>
<!-- navbar-->
<header class="header">
    <nav class="navbar navbar-expand-lg bg-dark">
        <div class="container">
            <a href="/" class="navbar-brand">
                <img src="{% static 'img/itsourcecodes.jpg' %}" alt="logo" class="d-none d-lg-block">
                <span class="sr-only">Home</span>
            </a>
            <button type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
                    aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"
                    class="navbar-toggler navbar-toggler-right">Menu<i class="fa fa-bars"></i>
            </button>
            <div id="navbarSupportedContent" class="collapse navbar-collapse">
                <ul class="navbar-nav ml-auto">
                    <li class="nav-item active">
                        <a href="/" class="nav-link">Home <span class="sr-only">(current)</span></a>
                    </li>
                    <li class="nav-item">
                        <a href="#" class="nav-link">About Us</a>
                    </li>
                    <li class="nav-item">
                        <a href="#" class="nav-link">Contact</a>
                    </li>
                    {% if request.user.is_authenticated and request.user.role == 'employer' %}
                        <li class="nav-item dropdown">
                            <a id="clientZone" href="#" data-toggle="dropdown"
                               aria-haspopup="true" aria-expanded="false"
                               class="nav-link dropdown-toggle has-img mb-3 mb-lg-0 mt-3 mt-lg-0">
                                <div class="client-menu-image">
                                    <div class="inner">
                                        <img src="{% static 'img/itsourcecodes.jpg' %}"
                                             alt="company image"
                                             class="img-fluid">
                                    </div>
                                </div>
                                {% if request.user.role == 'employee' %}
                                    {{ request.user.first_name }} {{ request.user.last_name }}
                                {% else %}
                                    {{ request.user.first_name }}
                                {% endif %}
                            </a>
                            <div aria-labelledby="clientZone" class="dropdown-menu">
                                <a href="{% url 'jobs:employer-dashboard' %}" class="dropdown-item">Dashboard</a>
                                <a href="{% url 'jobs:employer-all-applicants' %}" class="dropdown-item">Applicants </a>
                                <a href="{% url 'jobs:employer-jobs-create' %}" class="dropdown-item">Post a new
                                    job </a>
                                <a href="{% url 'accounts:logout' %}" class="dropdown-item">Logout</a>
                            </div>
                        </li>
                    {% elif request.user.is_authenticated and request.user.role == 'employee' %}
                        <li class="nav-item dropdown">
                            <a id="clientZone" href="#" data-toggle="dropdown"
                               aria-haspopup="true" aria-expanded="false"
                               class="nav-link dropdown-toggle has-img mb-3 mb-lg-0 mt-3 mt-lg-0">
                                <div class="client-menu-image">
                                    <div class="inner">
                                        <img src="{% static 'img/itsourcecodes.jpg' %}"
                                             alt="company image"
                                             class="img-fluid">
                                    </div>
                                </div>
                                {% if request.user.role == 'employee' %}
                                    {{ request.user.first_name }} {{ request.user.last_name }}
                                {% else %}
                                    {{ request.user.first_name }}
                                {% endif %}
                            </a>
                            <div aria-labelledby="clientZone" class="dropdown-menu">
                                <a href="{% url 'accounts:employer-profile-update' %}" class="dropdown-item">Edit Profile</a>
                                <a href="{% url 'accounts:logout' %}" class="dropdown-item">Logout</a>
                            </div>
                        </li>
                    {% else %}
                        <li class="nav-item dropdown">
                            <a id="pages" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"
                               class="nav-link dropdown-toggle"><i class="fa fa-signing"></i>Register
                            </a>
                            <div aria-labelledby="pages" class="dropdown-menu">
                                <a href="{% url 'accounts:employee-register' %}" class="dropdown-item">Employee</a>
                                <a href="{% url 'accounts:employer-register' %}" class="dropdown-item">Employers</a>
                            </div>
                        </li>
                        <li class="nav-item" style="color: #fff">
                            <a href="{% url 'accounts:login' %}" class="btn navbar-btn btn-outline-light mb-5 mb-lg-0">
                                <i class="fa fa-sign-in"></i>Login
                            </a>
                        </li>
                    {% endif %}
                </ul>
            </div>
        </div>
    </nav>
</header>
<div>
    {% if messages %}

        {% for message in messages %}
            <div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
                {{ message }}
                <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
{#            <li{% if message.tags %} class="alert alert-{{ message.tags }}"{% endif %}>{{ message }}</li>#}
        {% endfor %}

    {% endif %}
    {% block content %} {% endblock %}
</div>
<footer class="footer">
    <div class="footer__block">
        <div class="container">
            <div class="row">
                <div class="col-lg-4 col-md-12 mb-5">
                    <h4 class="h5">About Jobs</h4>
                    <p> A job, employment, work or occupation, is a person's role in society. More specifically, a job is an activity, often regular and often performed in exchange for payment. Many people have multiple jobs. A person can begin a job by becoming an employee, volunteering, starting a business, or becoming a parent. </p>
                </div>
            </div>
        </div>
    </div>
    <div class="footer__copyright">
        <div class="container">
            <div class="row">
                <div class="col-md-6 text-md-left text-center">
                    <p>Online Itsourcecode Portal Jobs System 2021</p>
                </div>
            </div>
        </div>
    </div>
</footer>

<script src="{% static 'vendor/jquery/jquery.min.js' %}"></script>
<script src="{% static 'vendor/popper.js/umd/popper.min.js' %}"></script>
<script src="{% static 'vendor/bootstrap/js/bootstrap.min.js' %}"></script>
<script src="{% static 'vendor/jquery.cookie/jquery.cookie.js' %}"></script>
<script src="{% static 'vendor/owl.carousel/owl.carousel.min.js' %}"></script>
<script src="{% static 'vendor/bootstrap-select/js/bootstrap-select.min.js' %}"></script>
<script src="{% static 'js/front.js' %}"></script>

{% block javascripts %}{% endblock %}

</body>

</html>
  • Create template for the jobs in Online Job Portal Project in Python Django.

In this section, we will learn on how create a templates for the jobs. To start with, add the following code in your jobs.html under the folder of template/employer files.

{% extends 'base.html' %}
{% load static %}
{% block title %}
    All jobs
{% endblock %}

{% block content %}

    <section class="job-form-section job-form-section--compressed">
        <div class="container">
            <h4 class="heading">Find a <span class="accent">job </span> that will <span class="accent">fit to your experties</span></h4>
            <form id="job-main-form" method="get" action="#" class="job-main-form">
                <div class="controls">
                    <div class="row align-items-end">
                        <div class="col-sm-1 col-lg-2"></div>
                        <div class="col-sm-5 col-lg-4 form-group">
                            <label for="profession">Profession</label>
                            <input type="text" id="profession" name="profession"
                                   placeholder="Profession you are looking for" class="form-control">
                        </div>
                        <div class="col-sm-5 col-lg-4 form-group">
                            <label for="location">Location</label>
                            <input type="text" id="location" name="location" placeholder="Any particular location?"
                                   value="Bay Area" class="form-control">
                        </div>
                        <div class="col-sm-1 col-lg-2 form-group">
                            <button type="submit" name="name"
                                    class="btn btn-outline-white-primary job-main-form__button">
                                <i class="fa fa-search"></i>
                            </button>
                        </div>
                    </div>
                </div>
            </form>
        </div>
    </section>
    <section>
        <div class="container">
            <h3 class="heading">We have found <span class="accent">{{ jobs.count }}</span> jobs</h3>
            {% for job in jobs %}
                <div class="job-listing  ">
                    <div class="row">
                        <div class="col-md-12 col-lg-6">
                            <div class="row">
                                <div class="col-2">
                                    <img src="{% static 'img/company-1.png' %}"
                                         alt="Ipsioou " class="img-fluid">
                                </div>
                                <div class="col-10">
                                    <h4 class="job__title"><a
                                            href="{% url 'jobs:jobs-detail' job.id %}">{{ job.title }}</a></h4>
                                    <p class="job__company">
                                        {{ job.company_name }}
                                    </p>
                                </div>
                            </div>
                        </div>
                        <div class="col-10 col-md-3 col-lg-2 ml-auto"><i class="fa fa-map-marker job__location"></i>
                            {{ job.location }}
                        </div>
                        <div class="col-10 col-md-3 col-lg-3 ml-auto">
                            <p>Posted {{ job.created_at|timesince }}</p>
                        </div>
                    </div>
                </div>
            {% endfor %}
            {% if is_paginated %}
                <div class="row">
                    <div class="col-md-12">
                        <nav aria-label="Page navigation example" class="d-flex justify-content-center mt-4 mb-4">
                            <ul class="pagination">
                                {% if page_obj.has_previous %}
                                    <li class="page-item">
                                        <a href="?page={{ page_obj.previous_page_number }}"
                                           class="page-link">&laquo;</a>
                                    </li>
                                {% else %}
                                    <li class="page-item disabled">
                                        <a class="page-link">&laquo;</a>
                                    </li>
                                {% endif %}
                                {% for i in page_obj.paginator.page_range %}
                                    {% if page_obj.number == i %}
                                        <li class="page-item active">
                                            <a class="page-link">{{ i }}</a>
                                        </li>
                                    {% else %}
                                        <li class="page-item">
                                            <a href="?page={{ i }}" class="page-link">{{ i }}</a>
                                        </li>
                                    {% endif %}
                                {% endfor %}
                                {% if page_obj.has_next %}
                                    <li class="page-item">
                                        <a href="?page={{ page_obj.next_page_number }}" class="page-link">&raquo;</a>
                                    </li>
                                {% else %}
                                    <li class="page-item disabled">
                                        <a class="page-link">&raquo;</a>
                                    </li>
                                {% endif %}
                            </ul>
                        </nav>
                    </div>
                </div>
            {% endif %}
        </div>
    </section>

{% endblock %}
  • Create template for the search in Online Job Portal Project in Python Django.

In this section, we will learn on how create a templates for the search. To start with, add the following code in your search.html under the folder of template/employer files.

{% extends 'base.html' %}
{% load static %}
{% block title %}
    All jobs
{% endblock %}

{% block content %}

    <section class="job-form-section job-form-section--compressed">
        <div class="container">
            <h4 class="heading">Find a <span class="accent">job </span> that will <span class="accent">fit to your experties</span></h4>
            <form id="job-main-form" method="get" action="#" class="job-main-form">
                <div class="controls">
                    <div class="row align-items-end">
                        <div class="col-sm-1 col-lg-2"></div>
                        <div class="col-sm-5 col-lg-4 form-group">
                            <label for="profession">Position</label>
                            <input type="text" id="position" name="position"
                                   placeholder="Position you are looking for" class="form-control">
                        </div>
                        <div class="col-sm-5 col-lg-4 form-group">
                            <label for="location">Location</label>
                            <input type="text" id="location" name="location" placeholder="Any particular location?"
                                   value="" class="form-control">
                        </div>
                        <div class="col-sm-1 col-lg-2 form-group">
                            <button type="submit" name="name"
                                    class="btn btn-outline-white-primary job-main-form__button">
                                <i class="fa fa-search"></i>
                            </button>
                        </div>
                    </div>
                </div>
            </form>
        </div>
    </section>
    <section>
        <div class="container">
            <h3 class="heading">We have found <span class="accent">{{ jobs.count }}</span> jobs</h3>
            {% for job in jobs %}
                <div class="job-listing  ">
                    <div class="row">
                        <div class="col-md-12 col-lg-6">
                            <div class="row">
                                <div class="col-2">
                                    <img src="{% static 'img/itsourcecodes.jpg' %}"
                                         alt="Ipsioou " class="img-fluid">
                                </div>
                                <div class="col-10">
                                    <h4 class="job__title"><a
                                            href="{% url 'jobs:jobs-detail' job.id %}">{{ job.title }}</a></h4>
                                    <p class="job__company">
                                        {{ job.company_name }}
                                    </p>
                                </div>
                            </div>
                        </div>
                        <div class="col-10 col-md-3 col-lg-2 ml-auto"><i class="fa fa-map-marker job__location"></i>
                            {{ job.location }}
                        </div>
                        <div class="col-10 col-md-3 col-lg-3 ml-auto">
                            <p>Posted {{ job.created_at|timesince }}</p>
                        </div>
                    </div>
                </div>
            {% endfor %}
            {% if is_paginated %}
                <div class="row">
                    <div class="col-md-12">
                        <nav aria-label="Page navigation example" class="d-flex justify-content-center mt-4 mb-4">
                            <ul class="pagination">
                                {% if page_obj.has_previous %}
                                    <li class="page-item">
                                        <a href="?page={{ page_obj.previous_page_number }}"
                                           class="page-link">&laquo;</a>
                                    </li>
                                {% else %}
                                    <li class="page-item disabled">
                                        <a class="page-link">&laquo;</a>
                                    </li>
                                {% endif %}
                                {% for i in page_obj.paginator.page_range %}
                                    {% if page_obj.number == i %}
                                        <li class="page-item active">
                                            <a class="page-link">{{ i }}</a>
                                        </li>
                                    {% else %}
                                        <li class="page-item">
                                            <a href="?page={{ i }}" class="page-link">{{ i }}</a>
                                        </li>
                                    {% endif %}
                                {% endfor %}
                                {% if page_obj.has_next %}
                                    <li class="page-item">
                                        <a href="?page={{ page_obj.next_page_number }}" class="page-link">&raquo;</a>
                                    </li>
                                {% else %}
                                    <li class="page-item disabled">
                                        <a class="page-link">&raquo;</a>
                                    </li>
                                {% endif %}
                            </ul>
                        </nav>
                    </div>
                </div>
            {% endif %}
        </div>
    </section>

{% endblock %}
  • Create template for the company details in Online Job Portal Project in Python Django.

In this section, we will learn on how create a templates for the company details. To start with, add the following code in your details.html under the folder of template/employer files.

{% extends 'base.html' %}
{% load static %}
{% load is_already_applied %}
{% block title %}
    Job details
{% endblock %}

{% block content %}

    <section class="bg-light-gray">
        <div class="container">
            <h1 class="heading">{{ job.title }}<br>
                <small>at <a href="#"> {{ job.company_name }}</a></small>
            </h1>
            <div class="job-detail-description"><i class="fa fa-map-marker job__location"> </i>
                {{ job.location }} | Posted {{ job.created_at|timesince }} |
                {% if job.type == '1' %}
                    <span class="badge featured-badge badge-success">Full time</span>
                {% elif job.type == '2' %}
                    <span class="badge featured-badge badge-primary">Part time</span>
                {% else %}
                    <span style="color: #ffffff;" class="badge featured-badge badge-warning">Internship</span>
                {% endif %}
            </div>
        </div>
    </section>
    <section>
        <div class="container">
            <div class="row">
                <div class="col-lg-8">
                    <h3>Category: {{ job.category }}</h3>
                    <h5>Last date: {{ job.last_date|date }}</h5>
                    <h5 class="text-info">Salary: Negotiable</h5>
                    <blockquote class="blockquote">
                        <p>{{ job.description }}</p>
                    </blockquote>
                    <div class="job-detail__apply-bottom">
                        {% if request.user.is_authenticated %}
                            {% is_already_applied job request.user as is_applied %}
                            {% if is_applied %}
                                <input type="button" class="btn btn-outline-white-primary" value="Already applied"/>
                            {% else %}
                                <form action="{% url 'jobs:apply-job' job.id %}" method="post">
                                    {% csrf_token %}
                                    <input type="hidden" name="job" value="{{ job.id }}">
                                    <input type="submit" class="btn btn-success"
                                           value="Apply for this job"/>
                                </form>
                            {% endif %}
                        {% else %}
                            <form action="{% url 'jobs:apply-job' job.id %}" method="post">
                                {% csrf_token %}
                                <input type="hidden" name="job" value="{{ job.id }}">
                                <input type="submit" class="btn btn-success"
                                       value="Apply for this job"/>
                            </form>
                        {% endif %}
                    </div>
                </div>
                <div class="col-lg-1"></div>
                <div class="col-lg-3">
                    <h4>About {{ job.company_name }}</h4>
                    <p class="job-detail__company-description">{{ job.company_description }}</p>
                    <p class="job-detail__social social social--outline">
                        <a href="{{ job.website }}" data-toggle="tooltip" data-placement="top" title="Website"
                           class="link">
                            <i class="fa fa-link"></i>
                        </a>
                        <a href="#" data-toggle="tooltip" data-placement="top" title="Twitter" class="twitter">
                            <i class="fa fa-twitter"></i>
                        </a>
                        <a href="#" data-toggle="tooltip" data-placement="top" title="Facebook" class="facebook">
                            <i class="fa fa-facebook"></i>
                        </a>
                    </p>
                    <div class="job-detail__apply-top">
                        {% if is_applied %}
                            <input type="button" class="btn btn-outline-white-primary" value="Already applied"/>
                        {% else %}
                            <form action="{% url 'jobs:apply-job' job.id %}" method="post">
                                {% csrf_token %}
                                <input type="hidden" name="job" value="{{ job.id }}">
                                <input type="submit" class="btn btn-success" value="Apply for this job"/>
                            </form>
                        {% endif %}
                    </div>
                </div>
            </div>
        </div>
    </section>

{% endblock %}
  • Create template for the employer registration in Online Job Portal Project in Python Django.

In this section, we will learn on how create a templates for the employer registration. To start with, add the following code in your register.html under the folder of template/employer files.

{% extends 'base.html' %}
{% block title %}
    Employer Register
{% endblock %}

{% block content %}

    <div class="col-lg-6 offset-3">
        <div class="box">
            <h3 class="heading">New account</h3>
            <p class="lead">Not our registered yet?</p>
            <p class="text-muted">If you have any questions, please feel free to <a href="#">contact us</a>,
                our customer service center is working for you 24/7.</p>
            {% if form.errors %}
                {% for field in form %}
                    {% for error in field.errors %}
                        <div class="alert alert-danger alert-dismissable">
                            <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
                            <strong>{{ error|escape }}</strong>
                        </div>
                    {% endfor %}
                {% endfor %}
                {% for error in form.non_field_errors %}
                    <div class="alert alert-danger alert-dismissable">
                        <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
                        <strong>{{ error|escape }}</strong>
                    </div>
                {% endfor %}
            {% endif %}
            <form action="" method="post">
                {% csrf_token %}
                {% for field in form %}
                    {% if field.name == 'gender' %}

                        <div class="form-group">
                            <label for="gender">Gender</label>
                            <br>
                            <div class="form-check form-check-inline">
                                <input class="form-check-input" type="radio" name="gender" id="male gender"
                                       value="male">
                                <label class="form-check-label" for="male">Male</label>
                            </div>
                            <div class="form-check form-check-inline">
                                <input class="form-check-input" type="radio" name="gender" id="female"
                                       value="female">
                                <label class="form-check-label" for="female">Female</label>
                            </div>
                        </div>

                    {% else %}

                        <div class="form-group">
                            <label for="id_{{ field.name }}">{{ field.label }}</label>
                            <input type="{{ field.field.widget.input_type }}"
                                   class="form-control"
                                   name="{{ field.name }}"
                                   id="id_{{ field.name }}"
                                   placeholder="{{ field.field.widget.attrs.placeholder }}">
                        </div>

                    {% endif %}
                {% endfor %}
                <div class="text-center">
                    <button type="submit" class="btn btn-success"><i class="fa fa-user-md"></i> Register
                    </button>
                </div>
            </form>
        </div>
    </div>

{% endblock %}
  • Create template for the employee registration in Online Job Portal Project in Python Django.

In this section, we will learn on how create a templates for the employee registration. To start with, add the following code in your register.html under the folder of template/employee files.

{% extends 'base.html' %}
{% block title %}
    Employee Register
{% endblock %}

{% block content %}

    <div class="col-lg-6 offset-3">
        <div class="box">
            <h3 class="heading">New account</h3>
            <p class="lead">Not our registered yet?</p>
            <p class="text-muted">If you have any questions, please feel free to <a href="#">contact us</a>,
                our customer service center is working for you 24/7.</p>
            {% if form.errors %}
                {% for field in form %}
                    {% for error in field.errors %}
                        <div class="alert alert-danger alert-dismissable">
                            <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
                            <strong>{{ error|escape }}</strong>
                        </div>
                    {% endfor %}
                {% endfor %}
                {% for error in form.non_field_errors %}
                    <div class="alert alert-danger alert-dismissable">
                        <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
                        <strong>{{ error|escape }}</strong>
                    </div>
                {% endfor %}
            {% endif %}
            <form action="" method="post">
                {% csrf_token %}
                {% for field in form %}
                    {% if field.name == 'gender' %}

                        <div class="form-group">
                            <label for="gender">Gender</label>
                            <br>
                            <div class="form-check form-check-inline">
                                <input class="form-check-input" type="radio" name="gender" id="male gender"
                                       value="male">
                                <label class="form-check-label" for="male">Male</label>
                            </div>
                            <div class="form-check form-check-inline">
                                <input class="form-check-input" type="radio" name="gender" id="female"
                                       value="female">
                                <label class="form-check-label" for="female">Female</label>
                            </div>
                        </div>

                    {% else %}

                        <div class="form-group">
                            <label for="id_{{ field.name }}">{{ field.label }}</label>
                            <input type="{{ field.field.widget.input_type }}"
                                   class="form-control"
                                   name="{{ field.name }}"
                                   id="id_{{ field.name }}"
                                   placeholder="{{ field.field.widget.attrs.placeholder }}">
                        </div>

                    {% endif %}
                {% endfor %}
                <div class="text-center">
                    <button type="submit" class="btn btn-outline-white-primary"><i class="fa fa-user-md"></i> Register
                    </button>
                </div>
            </form>
        </div>
    </div>

{% endblock %}

Output:

Downloadable Source Code Below.

Anyway, if you want to level up your programming knowledge, especially python, try this new article I’ve made for you Best Python Projects with source code for Beginners. But If you’re going to focus on web development using Django, you can download here from our list of Best Django Projects with source code based on real-world projects.

How To Run The Online Job Portal Project in Python Django with Source Code?

1st Step: Extract/unzip the file
2nd Step: Go inside the project folder, open cmd and type the following commands to install Django Framework and run the webserver:

  • pip install -r requirements.txt
  • python manage.py runserver

3rd Step: Finally, open the browser and go to http://127.0.0.1:8000/

Summary

In summary, this 2022 Online Job Portal Project in Python Django with Source Code can be useful to students or professional who wants to learn python django programming language. This project can also be modified to fit your personal requirements. Hope this project will help you to improve your skills. Happy Coding!

Inquiries

If you have any questions or suggestions about Online Job Portal Project in Python Django with Source Code, please feel free to leave a comment below.

6 thoughts on “Online Job Portal Project in Python Django with Source Code”

  1. tryed
    pip install -r requirements.txt
    throws error

    C:\Users\Dell\Downloads\online_job_portal_project_in_django\online_job_portal_project_in_django>pip install -r requirements.txt
    Collecting Django==2.1.7
    Using cached Django-2.1.7-py3-none-any.whl (7.3 MB)
    Requirement already satisfied: pytz==2018.9 in c:\python39\lib\site-packages (from -r requirements.txt (line 2)) (2018.9)
    Requirement already satisfied: whitenoise==4.1.2 in c:\python39\lib\site-packages (from -r requirements.txt (line 3)) (4.1.2)
    Requirement already satisfied: gunicorn in c:\python39\lib\site-packages (from -r requirements.txt (line 4)) (20.1.0)
    Requirement already satisfied: setuptools>=3.0 in c:\python39\lib\site-packages (from gunicorn->-r requirements.txt (line 4)) (49.2.1)
    Installing collected packages: Django
    ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: ‘c:\\python39\\Scripts\\django-admin.py’
    Consider using the `–user` option or check the permissions.

    Reply

Leave a Comment