You are on page 1of 22

A

Summer Internship Report


On
Django Technology Training
(CE246 – Summer Internship - I)

Prepared by
Kautik Patel (20CE087)

Under the Supervision of


Prof. Mayuri Popat

Submitted to
Charotar University of Science & Technology (CHARUSAT)
for the Partial Fulfillment of the Requirements for the
Degree of Bachelor of Technology (B.Tech.)
for Semester 5

Submitted at

Accredited with Grade A by NAAC


Accredited with Grade A by KCG

U & P U. PATEL DEPARTMENT OF COMPUTER ENGINEERING


Chandubhai S. Patel Institute of Technology (CSPIT)
Faculty of Technology & Engineering (FTE), CHARUSAT
At: Changa, Dist: Anand, Pin: 388421.
July 2022
Accredited with Grade A by NAAC
Accredited with Grade A by KCG

CERTIFICATE

This is to certify that the report entitled “Django Technology Training” is a bonafied
work carried out by Kautik Patel (20CE087) under the guidance and supervision of
Mr. RUSHIKESH PATEL for the subject Summer Internship – I (CE246) of5th
Semester of Bachelor of Technology in Computer Engineering at Chandubhai S.
Patel Institute of Technology (CSPIT), Faculty of Technology & Engineering (FTE) –
CHARUSAT, Gujarat.

To the best of my knowledge and belief, this work embodies the work of candidate
himself, has duly been completed, and fulfills the requirement of the ordinance relating
to the B.Tech. Degree of the University and is up to the standard in respect of content,
presentation and language for being referred by the examiner(s).

Under the supervision of,

prof. Mayuri Popat Mr. Rushikesh


Assistant Professor patel
U & P U. Patel Dept. of Computer Engineering
CSPIT, FTE, CHARUSAT, Changa, Gujarat Project Manager
B/406, Aagam Shopping World,
Vesu, Surat, Gujarat. Pincode -
395007
Dr. Ritesh Patel
Head - U & P U. Patel Department of Computer Engineering,
CSPIT, FTE, CHARUSAT, Changa, Gujarat.

Chandubhai S. Patel Institute of Technology (CSPIT)


Faculty of Technology & Engineering (FTE), CHARUSAT
At: Changa, Ta. Petlad, Dist. Anand, Pin: 388421. Gujarat.
CE246 – SUMMER INTERNSHIP - I 20CE087

ACKNOWLEDGEMENT

First I want to express my deepest THANKS to charusat to schedule such a subject so


that we can work and get trained with company.

Also thanks faculty members like Aayushi mam and counselor Mayuri Popat to guide
us for this subject and to take right company for internship.

The internship opportunity I had with Kintu Designs was a great chance for learningand
professional development. Therefore, I consider myself as a very lucky individual as I
was provided with an opportunity to be a part of it.

I am also grateful for having a chance to work with Rushikesh Patel and he taught me
very kindly. I learnt company working flow. Also many more things.

Once Again Thank You So Much !!

with hearty thanks,


Kautik Patel
20CE087

1
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

ABSTRACT

Internship is the thing where students are going to implement their theoretical
knowledge into practical world.

An internship is a professional learning experience that offers meaningful, practical


work related to a student's field of study or career interest. An internship gives a student
the opportunity for career exploration and development, and to learn new skills. Main
thing in the internship student can interact with real working scenario of company.
Student or Intern can able to know real life use of technology like how and where it is
used. They can gain more/deep knowledge in interested field.

Internship can help students to decide their way. What they actually want to become
after graduation. Which are the interested area of their selves. Because of this student
surely gain knowledge. They able to manage time and work load.

I think every student have to experience internship before doing job. My experience at
Kintu Designs was really very good.

At the conclusion I want to say that Kintu Designs is really invoke engineer inside
you.

2
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

DESCRIPTION OF COMPANY

Hello, We’re Kintu Designs

We’re A Passionate Team Of Creative Thinkers, Digital Experts, Designers, Developers And
Marketeers Based In India, In The Heart Of Leafy Surrey.
We work with businesses of all sizes, from small startups, medium sized businesses delivering both
B2B and B2C digital solutions for our clients in a variety of channels.

Our digital marketing solutions include websites, SEO, SEM and email campaigns. Our in-house
development team create beautifully finished software and apps for the major mobile platforms
including Apple’s iOS and Google’s Android.

What sets us apart is our team’s rich history in the advertising and film industries, this experience
influences our thinking, providing strategic advantages to our clients. With over 20 years of London
agency experience, an in-house photography and videography team and crack squad of brand and
graphic designers, you have the perfect digital agency right here, raring to go.

Kintu Designs

Website : https://kintudesigns.com/public/

Contact No. : +91 9909555703

3
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

TABLE OF CONTENTS

1
Acknowledgement 1
22
Abstract
Description of company / organization 3
5
Chapter 1 Introduction
1.1 Internship Objectives 55
1.2 Purpose of Internship 55

1.3 Overview of Internship Activities 76

Chapter 2 Tools and Technologies 77

2.1 Introduction To Django 77

2.2 History 77

2.3 Popularity 77

2.4 Features of Django 7


2.5 Django Installation 87
2.6 Django Project 88
2.7 Running Django project 8
2.8 Django CRUD (Create, Retrieve, Update, Delete) Function 9
2.9 RESTful APIs with Django 10
10
2.10 Django User Authentication – Allow Signup and Login Using Django 10
11
2.11 Render a HTML Template as Response – Django Views 12
Chapter 3 Task Description 13
13
3.1 Task 1 13
13
3.2 Task 2 14
14
3.3 Task 3 15
15
3.4 Task 4 16
17
Chapter 4 Learning Experiences 19
19
4.1 Knowledge Acquired/Skills Learnt 19
19
4.2 Industry Practices Adapted 19
19
4.3 Realtime Applicability of Technologies Learnt 19
19
Chapter 5 Conclusion 19
19

4
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

1. INTRODUCTION

1.1 INTERNSHIP OBJECTIVES

The internship is designed to give you actual experience working in a


computer-oriented organization and an awareness of the organization's
position in the community. Regarding the organization, the intern should
understand:

 The organization's philosophy and goals in relation to the services it


provides to the community.
 The administrative structure of the organization, both as it is formally
organized and as it actually appears.
 The organization's role in providing computer services or products.
 Why the organization exists, who serves it, etc.
 The effect of limited resources and other restrictions on the
organization's functioning.

1.2 PURPOSE OF INTERNSHIP

The purpose of this internship was to upskill my web development using


Python and Django in the pandemic situation and not just wasting my time
sitting idle in home and getting hands-on experience of how work ina team to
develop a web application with all the side cases try to give out a code without
much errors in it.

5
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

1.3 OVERVIEW OF INTERNSHIP ACTIVITIES

Date Day Name of Topic/Module

Week 1 15/05/2022 – 20/05/2022 Monday- Friday Introduction of Company


Internship plan discussion
Code walkthrough
understanding the functionalities and
working
Installation of django
django tutorial
Week 2 23/05/2022 – 27/05/2022 Monday- Friday Url Routing And Django Apps
Django Template Language
Sending Data To Template File
Building A Word Counter In Django
Get vs Post In Django
Static Files In Django
Week 3 30/05/2022 – 03/06/2022 Monday- Friday Introduction To Django Models
Django Admin Panel & Manipulation Of
Database
User Registration In Django
User Login And Logout In Django
Dynamic Url Routing In Django
Postgresql Setup
Week 4 06/06/2022 – 10/06/2022 Monday- Friday
Introduction to crud operation Django
with full operation, django API

Week 5 13/06/2022 – 17/06/2022 Monday- Friday


Build a blog with django
Build A Weather App With Django

Week 6 20/06/2022 – 24/06/2022 Monday- Friday


Render an HTML Template as Response
Build todo list app with user Registration
and login

6
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

2. TOOLS AND TECHNOLOGY

2.1 INTRODUCTION TO DJANGO


Django is a web application framework written in Python programming
language. It is based on MVT (Model View Template) design pattern. The
Django is very demanding due to its rapid development feature. It takes less
time to build application after collecting client requirement. This framework
uses a famous tag line:The web framework for perfectionists with deadlines.
By using Django, we can build web applications in very less time. Django is
designed in such a manner that it handles much of configure things
automatically, so we can focus on application development only.

2.2 HISTORY
Django was design and developed by Lawrence journal world in 2003 and
publicly released under BSD license in July 2005. Currently, DSF (Django
Software Foundation) maintains its development and release cycle. Django
was released on 21, July 2005.

2.3 POPULARITY
Django is widely accepted and used by various well-known sites such as:
 Instagram
 Mozilla
 Disqus
 Pinterest
 Bitbucket
 The Washington Times

2.4 FEATURES OF DJANGO


 Rapid Development
 Secure
 Scalable
 Fully loaded
 Versatile
 Open Source
 Vast and Support Community

2.5 DJANGO INSTALLATION


To install Django, first visit to django official site
(https://www.djangoproject.com) and download django by clicking on the

7
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

download section. Here, we will see various options to download the Django.
Django requires pip to start installation. Pip is a package manager system
which is used to install and manage packages written in python. For Python
3.4 and higher versions pip3 is used to manage packages the installation
command is given below.

Pip install django

2.6 DJANGO PROJECT


To create a Django project, we can use the following command. projectname
is the name of Django application.
django-admin startproject projectname
A Django project contains the following packages and files. The outer
directory is just a container for the application. We can rename it further.
 manage.py: It is a command-line utility which allows us to interact with
the project in various
 ways and also used to manage an application that we will see later on
in this tutorial.
 A directory (djangpapp) located inside, is the actual application
package name. Its name is the
 Python package name which we'll need to use to import module inside
the application.
 __init__.py: It is an empty file that tells to the Python that this directory
should be
 considered as a Python package.
 settings.py: This file is used to configure application settings such as
database connection,
 static files linking etc.
 urls.py: This file contains the listed URLs of the application. In this file,
we can mention the
 URLs and corresponding actions to perform the task and display the
view.
 wsgi.py: It is an entry-point for WSGI-compatible web servers to serve
Django project.
Initially, this project is a default draft which contains all the required files and
folders.

2.7 RUNNING DJANGO PROJECT


Django project has a built-in development server which is used to run
8
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

application instantly without any external web server. It means we don't need
of Apache or another web server to run the application in development mode.
To run the application, we can use the following command. python manage.py
runserver.

2.8 Django CRUD (Create, Retrieve, Update, Delete) Function

Django is a Python-based web framework which allows you to quickly create


web application without all of the installation or dependency problems that
you normally will find with other frameworks. Django is based on MVT
(Model View Template) architecture and revolves around CRUD (Create,
Retrieve, Update, Delete) operations. CRUD can be best explained as an
approach to building a Django web application. In general CRUD means
performing Create, Retrieve, Update and Delete operations on a table in a
database. Let’s discuss what actually CRUD means,

• CREATE procedures: Performs the INSERT statement to create a new


record.
 READ procedures: Reads the table records based on the keynoted within
the input parameter.
 UPDATE procedures: Executes an UPDATE statement on the table
based on the specified primary key for a record within the WHERE clause
of the statement.
 DELETE procedures: Deletes a specified row in the WHERE clause.

9
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

Task 1 and 4 is based on this concept.

2.9 RESTful APIs with Django

Introduction

Django REST Framework is used to create web APIs very easily and
efficiently. This is a wrapper around over the Django Framework. There are
three stages before creating an API through REST framework, Converting a
Model’s data to JSON/XML format (Serialization), Rendering this data to the
view, Creating a URL for mapping to the viewset.

A REST API defines a set of functions which developers can perform requests
and receive responses via HTTP protocol such as GET, POST, PUT and
DELETE

Think REST API as a web service that provides you the data you want to use
in your application(mobile or front-end client).

The key components for a REST API request are:

GET — The most common option, returns some data from the API based on
the given endpoint.
POST — Creates a new record and add it to the database.
PUT — Update an existing record.
DELETE — Deletes the record on the given endpoint.

Task 2 is based on this concept.

2.10 Django User Authentication – Allow Signup and Login Using


Django

Static vs. Dynamic websites

Let’s have a quick look at the differences between a static and dynamic
website.

10
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

Static Website Dynamic Website

Static website displays fixed Dynamic websites can display different


information to users information based on the viewer

A lot of data interchange between the user


No client-server interaction and the servers

Is important when we need users to interact


Faster, cheaper, and easy to main if you with the website. Dynamic websites ca be
don’t need to update your data fast and easy to maintain with the right
frequently CMS

Directly displays what’s on the server Displays the front-end based on what’s
by rending the HTML, JS, and CSS available on the database, stored for the
files. user

User Authentication
Nowadays almost all the websites have user authentication processes where
you create an account either manually or through the google/Facebook account
ids.

User authentication is an important process since it secures all the user content
in such a way that it can be accessed only by the particular user. In Django,
this is done using the django.contrib.auth library.

Also, there are different types of users based on their roles and permissions
possible.

Types of Users
Though users can be divided into many categories and types, there are two
major user roles. The ones that have edit access to the website, and the ones
that don’t.

Superusers :
You have come across a superuser in the admin site article. The superuser is
the topmost admin of the project who has access to all the contents of the admin
11
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

site. He can also delete other General users.

Task 4 is based on this concept.

2.11 Render a HTML Template as Response – Django Views

Django Templates
Django provides a convenient way to generate dynamic HTML pages by using
its template system.

A template consists of static parts of the desired HTML output as well as some
special syntax describing how dynamic content will be inserted.

Why Django Template?


In HTML file, we can't write python code because the code is only interpreted
by python interpreter not the browser. We know that HTML is a static markup
language, while Python is a dynamic programming language.

Django template engine is used to separate the design from the python code
and allows us to build dynamic web pages.

Task 3 is based on this concept.

12
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

3 DESCRIPTION OF TASK

3.1 TASK – 1

Task 1

Task To build a Blog application with Django that allows users to create, edit,
Description and delete posts. The homepage will list all blog posts, and there will be
a dedicated detail page for each individual post.
Trigger Onclick Add
Output
Screenshots

13
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

3.2 Task – 2

Task 2

Task To build a Django Weather app that displays the current


Descripti weather,temperatue,name of the city,icon and current date for various cities
on with the help of openweathermap API.
Trigger Onclick Add

Output
Screensh
ots

14
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

3.3 Task – 3

Task 3

Task Description To build a ToDo list app with User Registration, Login, Search
and full Create Read Update and DELETE functionality.
Trigger Onclick Add
Output
Screenshots

15
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

16
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

3.4 Task – 4

Task 4

Task Description Render Multiple Template Files in Django and give routing to
each Template File in appthemedemo app.
Trigger Onclick Add
Output
Screenshots

17
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

18
CSPIT
CE246 – SUMMER INTERNSHIP - I 20CE087

4 LEARING EXPERIENCES
4.1 KNOWLEDGE ACQUIRED/SKILLS LEARNT

 Grip at backend
 Develop good website
 Learnt Backend side
 CRUD operation by Django
 Working with external API in Django

4.2 INDUSTRY PRACTICES ADAPTED

 Working in team
 Time management
 Following coding standards

4.3 REALTIME APPLICABILITY OF TECHNOLOGIES LEARNT

 Website development
 Store Data of website
 Build good website

5 CONCLUSION

At the Last, for me this internship has been really very good experience. In
internship I learn many things. In that not only educational thing but way to
talk, way to work, way to behave. I have found what my strengths and
weaknesses what I have to do for next. I gained new knowledge, experienceand
skills. Increase contact with many people. After this I could predict my
technical strength. It was very GOOD!

19
CSPIT

You might also like