Church Management System Project in Django with Source Code

Church Management System Project in Django with Source Code

This Church Management System Project in Django created based on python, Django, and SQLITE3 Database.

The Church Management System project created to assist clerics in managing church members and finances from the central office to the branch levels.

It has several modules, the most important of which are the members and admin sections. Members maintain their system accounts, Tithes, and other giving’s while the admin has access to all functionality and functionalities of the app.

To start creating a Church Management System Project in Python Django, makes sure that you have PyCharm Professional IDE Installed in your computer.

This Church Management System in Django Framework, Also includes a Download Source Code for free, just find the downloadable source code below and click download now.

About ProjectProject DetailsDefinition
Project Name Church Management System Project in Django with Source CodeA Church Management System in Django is an easy project for beginners to learn how to build a web-based python Django project. We will provide you with the complete source code and database for the python project so that you can easily install it on your machine and learn how to program in Python Django.
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.
Church Management System in Django Overview

Admin Features of Church Management System in Django

  • Register Page– The page where new user created their login credentials for the website.
  • Login Page – The page where the system administrator enters their system credentials in order to gain access to the system’s administrative side.
  • New Ministries Page-This is the page where an administrator can add a new ministries.
  • Ministries List– The page with a list of ministries that can be navigated to change or delete a ministries.
  • New Shepherd – The page to which an administrator can add new shepherd.
  • Shepherd List– The page on which the list of shepherd can be viewed, modified, or deleted.
  • New Member– The page to which an administrator can add new member.
  • Member List– The page on which the list of member can be viewed, modified, or deleted.
  • New User Page – The page where a new admin credentials are created by an admin.
  • Users list – This is the page that lists and manages the added users.

Church Management System in Django Steps on How to Create a Project

Time needed: 5 minutes

Here’s the step’s on how to create a Church Management System Project in Django with Source Code.

  • Step 1: Open file.

    First , open “pycharm professional” after that click “file” and click “new project“.
    Create new Project for Church Management System Project in Django with Source Code

  • Step 2: Choose Django.

    Next, after click “new project“, choose “Django” and click.
    choose django for Church Management System Project in Django with Source Code

  • Step 3: Select file location.

    Then, select a file location wherever you want.
    Create location name for Church Management System Project in Django with Source Code

  • Step 4: Create application name.

    After that, name your application.
    Create application name for Church Management System Project in Django with Source Code

  • Step 5: Click create.

    Lastly, finish creating project by clicking “create” button.

  • Step 6: Start Coding.

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

Functionality and Codes of the Church Management System Project in Django with Source Code

  • Create template for the add ministries form in Church Management System in Django.

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

{% extends 'base.html' %}

{% block internal_style %}

    <style>
        .card{
            border-top: 3px solid #f3b600;
        }
    </style>

{% endblock internal_style %}


{% block content %}
    <div class="dashboard-wrapper">
        <div class="container-fluid dashboard-content">
            <div class="col-xl-7 col-lg-10 col-md-11 col-sm-12 col-xl-12 mx-auto">
        {% if messages %}
            {% for message in messages %}
                <div class="col-lg-12 mr-auto ml-auto alert bg-warning alert-dismissable pb-0 pt-0" role="alert">
                    <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                        <span aria-hidden="true" class="text-danger"><b>&times;</b></span>
                    </button>
                    <div class="row">
                        <div class="mr-auto ml-auto">
                        <p class="h5 mr-auto ml-auto p-2 text-light">
                             <b>
                                {% if message.tags ==  "alert-danger" %}
                                    <i class="fa fa-exclamation-triangle mr-3 text-danger"></i> {{ message }}
                                {% else %}
                                    <i class="fa fa-check"></i> {{ message }}
                                {% endif %}
                            </b>
                        </p>
                    </div>
                    </div>
                </div>
            {% endfor %}
        {% endif %}
        <div class="card">
            <h5 class="card-header h5">Add A New Ministry </h5>
            <div class="card-body">
                <form action="{% url 'create_ministry' %}" method="post" class="mb-5">
                    {% csrf_token %}
                    <div class="form-group mb-5">
                        <label for="{{ form.name.id_for_label }}">Ministry Name</label>
                        <input type="text" class="form-control" id="{{ form.name.id_for_label }}" name="{{ form.name.name }}" autofocus required>
                    </div>
                    <div class="form-group mb-5">
                        <label for="{{ form.leader.id_for_label }}">Leader</label>
                        <input type="text" class="form-control" id="{{ form.leader.id_for_label }}" name="{{ form.leader.name }}">
                    </div>
                    <div class="form-group">
                        <label for="{{ form.description.id_for_label }}">Ministry Description</label>
                        <textarea name="{{ form.description.name }}" id="{{ form.description.id_for_label }}" cols="30" rows="10" class="form-control"></textarea>
                    </div>

                    <button class="btn btn-success mt-5 text-light shadow btn-sm">Add Ministry</button>
                </form>
            </div>
        </div>
    </div>
        </div>
    </div>

{% endblock content %}

  • Create template for the add member form in Church Management System in Django.

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

{% extends 'base.html' %}
{% load static %}

{% block internal_style %}

    <style>
        .container {
            max-width: 960px;
            margin: 30px auto;
            padding: 20px;
        }

        h1 {
            font-size: 20px;
            text-align: center;
            margin: 20px 0 20px;
        }
        h1 small {
            display: block;
            font-size: 15px;
            padding-top: 8px;
            color: gray;
        }

        .avatar-upload {
            position: relative;
            max-width: 205px;
            margin: 30px auto;
        }
        .avatar-upload .avatar-edit {
            position: absolute;
            right: 12px;
            z-index: 1;
            top: 10px;
        }
        .avatar-upload .avatar-edit input {
            display: none;
        }
        .avatar-upload .avatar-edit input + label {
            display: inline-block;
            width: 34px;
            height: 34px;
            margin-bottom: 0;
            border-radius: 100%;
            background: #FFFFFF;
            border: 1px solid transparent;
            box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.12);
            cursor: pointer;
            font-weight: normal;
            transition: all .2s ease-in-out;
        }
        .avatar-upload .avatar-edit input + label:hover {
            background: #f1f1f1;
            border-color: #d6d6d6;
        }
        .avatar-upload .avatar-edit input + label:after {
            content: "\f030";
            font-family: 'FontAwesome';
            color: #757575;
            position: absolute;
            top: 7px;
            left: 0;
            right: 0;
            text-align: center;
            margin: auto;
        }
        .avatar-upload .avatar-preview {
            width: 192px;
            height: 192px;
            position: relative;
            border-radius: 100%;
            border: 6px solid #F8F8F8;
            box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.1);
        }
        .avatar-upload .avatar-preview > div {
            width: 100%;
            height: 100%;
            border-radius: 100%;
            background-size: cover;
            background-repeat: no-repeat;
            background-position: center;
        }
    </style>

{% endblock internal_style %}

{% block script %}
    <script>
        function readURL(input) {
    if (input.files && input.files[0]) {
        var reader = new FileReader();
        reader.onload = function(e) {
            $('#imagePreview').css('background-image', 'url('+e.target.result +')');
            $('#imagePreview').hide();
            $('#imagePreview').fadeIn(650);
        }
        reader.readAsDataURL(input.files[0]);
    }
}
$("#{{ form.picture.id_for_label }}").change(function() {
    readURL(this);
});
    </script>

{% endblock script %}


{% block content %}
    <div class="dashboard-wrapper">
        <div class="container-fluid dashboard-content">
            <div class="row">
                <div class="col-xs-12 col-lg-11 col-md-11 col-sm-12 col-xl-7 mx-auto">
                    {% if messages %}
                        {% for message in messages %}
                            <div class="col-lg-12 mr-auto ml-auto alert bg-warning alert-dismissable pb-0 pt-0" role="alert">
                                <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                                    <span aria-hidden="true" class="text-danger"><b>&times;</b></span>
                                </button>
                                <div class="row">
                                    <div class="mr-auto ml-auto">
                                    <p class="h5 mr-auto ml-auto p-2 text-light">
                                         <b>
                                            {% if message.tags ==  "alert-danger" %}
                                                <i class="fa fa-exclamation-triangle mr-3 text-danger"></i> {{ message }}
                                            {% else %}
                                                <i class="fa fa-check"></i> {{ message }}
                                            {% endif %}
                                        </b>
                                    </p>
                                </div>
                                </div>
                            </div>
                        {% endfor %}
                    {% endif %}
                    <div class="card">
                        <h5 class="card-header"><p class="h5">Add A New Member </p></h5>
                        <div class="card-body">
                            <form enctype="multipart/form-data" action="{% url 'create_member' %}" method="post" class="mb-5">
                                {% csrf_token %}
                                <div class="container">
                                    <h1>Upload Your Image
                                        <small>and preview</small>
                                    </h1>
                                    <div class="avatar-upload">
                                        <div class="avatar-edit">
                                            <input type='file' id="{{ form.picture.id_for_label }}" name="{{ form.picture.name }}" accept="image/*" class="input" />
                                            <label for="{{ form.picture.id_for_label }}"></label>
                                        </div>
                                        <div class="avatar-preview">
                                            <div id="imagePreview" style="background-image: url({% static 'assets/images/avatar01.png' %}); background-size: 120%;">
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="form-row mb-3">
                                    <div class="col">
                                        <label for="{{ form.name.id_for_label }}">Member Name</label>
                                        <input type="text" class="form-control" id="{{ form.name.id_for_label }}" name="{{ form.name.name }}" autofocus required>
                                    </div>
                                    <div class="col">
                                        <label for="{{ form.telephone.id_for_label }}">Phone Number</label>
                                        <input type="text" name="{{ form.telephone.name }}" id="{{ form.telephone.id_for_label }}" class="form-control">
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label for="{{ form.shepherd.id_for_label }}">Shepherd</label>
                                    <select name="{{ form.shepherd.name }}" id="{{ form.shepherd.id_for_label }}" class="form-control">
                                        <option value="">----------- Select The Shepherd --------------</option>
                                        {% for shepherd in shepherds %}
                                            <option value="{{ shepherd.pk }}">{{ shepherd.name }}</option>
                                        {% endfor %}
                                    </select>
                                </div>
                                <div class="form-group">
                                    <label for="{{ form.ministry.id_for_label }}">Ministry</label>
                                    <select name="{{ form.ministry.name }}" id="{{ form.ministry.id_for_label }}" class="form-control">
                                        <option value="">------------- Select The Ministry</option>
                                        {% for ministry in ministries %}
                                            <option value="{{ ministry.pk }}">{{ ministry.name }}</option>
                                        {% endfor %}
                                    </select>
                                </div>
                                <div class="form-row">
                                    <div class="col">
                                        <label for="{{ form.location.id_for_label }}">Location</label>
                                        <input type="text" name="{{ form.location.name }}" id="{{ form.location.id_for_label }}" class="form-control">
                                    </div>
                                    <div class="col">
                                        <label for="{{ form.guardians_name.id_for_label }}">Guardian's Name</label>
                                        <input type="text" id="{{ form.guardians_name.id_for_label }}" class="form-control" name="{{ form.guardians_name.name }}">
                                    </div>
                                </div>
                                <div class="form-row mt-3">
                                    <div class="col">
                                        <label for="{{ form.fathers_name.id_for_label }}">Father's Name</label>
                                        <input type="text" id="{{ form.fathers_name.id_for_label }}" class="form-control" name="{{ form.fathers_name.name }}">
                                    </div>
                                    <div class="col">
                                        <label for="{{ form.mothers_name.id_for_label }}">Mother's Name</label>
                                        <input type="text" id="{{ form.mothers_name.id_for_label }}" class="form-control" name="{{ form.mothers_name.name }}">
                                    </div>
                                </div>
                                <br>
                                <hr>
                                <div class="form-group mt-3">
                                    <label class="custom-control custom-checkbox custom-control-inline">
                                        <input type="checkbox" class="custom-control-input" id="{{ form.new_believer_school.id_for_label }}" name="{{ form.new_believer_school.name }}">
                                        <span class="custom-control-label mr-3">New Believer's School</span>
                                    </label>
                                    <label class="custom-control custom-checkbox custom-control-inline">
                                        <input type="checkbox" class="custom-control-input" id="{{ form.pays_tithe.id_for_label }}" name="{{ form.pays_tithe.name }}">
                                        <span class="custom-control-label mr-5">Pay's Tithe</span>
                                    </label>
                                    <label class="custom-control custom-checkbox custom-control-inline">
                                        <input type="checkbox" class="custom-control-input" id="{{ form.working.id_for_label }}" name="{{ form.working.name }}">
                                        <span class="custom-control-label mr-5">Working</span>
                                    </label>
                                    <label class="custom-control custom-checkbox custom-control-inline">
                                        <input type="checkbox" class="custom-control-input" id="{{ form.schooling.id_for_label }}" name="{{ form.schooling.name }}">
                                        <span class="custom-control-label">Schooling</span>
                                    </label>
                                </div>
                                <hr>

                                <button type="submit" class="btn btn-success mt-5 text-light btn-sm shadow">Add Member</button>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>

{% endblock content %}

  • Create template for the add shepherds in Church Management System in Django.

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

{% extends 'base.html' %}


{% block content %}
    <div class="dashboard-wrapper">
        <div class="container-fluid dashboard-content">
            <div class="col-xl-12 col-lg-10 col-md-11 col-sm-12 col-xl-7 mx-auto">
        {% if messages %}
            {% for message in messages %}
                <div class="col-lg-12 mr-auto ml-auto alert bg-warning alert-dismissable pb-0 pt-0" role="alert">
                    <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                        <span aria-hidden="true" class="text-danger"><b>&times;</b></span>
                    </button>
                    <div class="row">
                        <div class="mr-auto ml-auto">
                        <p class="h5 mr-auto ml-auto p-2 text-light">
                             <b>
                                {% if message.tags ==  "alert-danger" %}
                                    <i class="fa fa-exclamation-triangle mr-3 text-danger"></i> {{ message }}
                                {% else %}
                                    <i class="fa fa-check"></i> {{ message }}
                                {% endif %}
                            </b>
                        </p>
                    </div>
                    </div>
                </div>
            {% endfor %}
        {% endif %}
        <div class="card">
            <h5 class="card-header h5">Add A New Shepherd </h5>
            <div class="card-body">
                <form action="{% url 'create_shepherd' %}" method="post" class="mb-5">
                    {% csrf_token %}
                    <div class="form-group mb-5">
                        <label for="{{ form.name.id_for_label }}">Shepherd Name</label>
                        <input type="text" class="form-control" id="{{ form.name.id_for_label }}" name="{{ form.name.name }}" autofocus required>
                    </div>
                    <div class="form-group">
                        <label for="{{ form.age.id_for_label }}">Shepherd Age</label>
                        <input type="text" name="{{ form.age.name }}" id="{{ form.age.id_for_label }}" class="form-control">
                    </div>

                    <button class="btn btn-success mt-5 text-light shadow btn-sm">Add Shepherd</button>
                </form>
            </div>
        </div>
    </div>
        </div>
    </div>

{% endblock content %}

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 Church Management System in Django?

  • Step 1: Extract/unzip the file
  • Step 2: 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 migrate
  • python manage.py runserver
  • Step 3: Finally, open the browser and go to http://127.0.0.1:8000/

Summary

In summary, the Church Management System in Django with Source Code can be useful to students or professional who wants to learn python 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 Church Management System in Django with Source Code, please feel free to leave a comment below.

2 thoughts on “Church Management System Project in Django with Source Code”

  1. hello programmers,
    i downloaded this project and i’m trying to run the server and i find an error in code using vs.code. the error is this:
    from django.core.management import execute_from_command_line
    ————————————
    the error tells me that:
    Import “django.core.management” could not be resolved from sourcePylance
    _________________________
    please help me to solve it and run this project

Leave a Comment