Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 61

216480316039

PYTHON WITH DJANGO

A INTERNSHIP REPORT 

Submitted by

Student Name
Enrollment No.
In partial fulfillment for the award of the degree of

DIPLOMA IN ENGINEERING 
in

Information Technology
College Name

Gujarat Technological University


[08-2023]

1|Page
216480316039

Sigma Intitute of Engineering(polytechnic)


Vadodara-390019

CERTIFICATE
This is to certify that the project report submitted along with the project entitled Android
development been carried out by Student Name under my guidance in partial fulfillment for
the degree of Diploma in Engineering in Information Technology, 5th Semester of Gujarat
Technological University, Ahmadabad during the academic year 2022-23. 

Internal Guide                                                                      Head of the Department

2|Page
216480316039

DECLARATION

We hereby declare that the Internship  report submitted along with the Android
Development submitted in partial fulfillment for the degree of Diploma in Engineering in
Information Technology to Gujarat Technological University, Ahmedabad, is a bonafide
record of original project work carried out by me At Company Name. under the supervision
of Sagar Khatri and that no part of this report has been directly copied from any students’
reports or taken from any other source, without providing due reference. 

Name of the Student                                                                           Sign of Student

3|Page
216480316039

JOINING LETTER:

4|Page
216480316039

INTRODUCTION
1.1 Introduction to organisation you worked in:
I had the chance to work with a Snapfix in the Python industry, where I obtained useful
expertise and took part in interesting projects. This Snapfix is well known for its proficiency
in utilising Python's power to create reliable, scalable, and creative solutions for a variety of
sectors.
At this Snapfix, we promoted a lively, cooperative workplace that valued innovation,
problem-solving, and lifelong learning. The team was made up of skilled Python
programmers, software engineers, and data scientists who were enthusiastic about utilising
Python's adaptability to create cutting-edge systems and applications.

Snapfix’s main goal was to build effective online apps, data analysis tools, machine learning
models, and automation scripts by utilising Python's rich libraries and frameworks. Python's
readability and simplicity enabled us to prototype and deploy options, cutting down on
development time while upholding high standards.

I got the chance to work on numerous projects that demonstrated Python's versatility
throughout my employment. We regularly delivered solutions that beyond customer
expectations, whether we were developing scalable web apps using Django or Flask or
putting in place data analysis pipelines using Pandas and NumPy.

The focus on code quality, testing, and best practises was one of the noteworthy elements of
working in this organisation. To guarantee the dependability and stability of our Python
codebase, we used agile approaches and strong testing tools like pytest and unittest.

1.2 Why you chose internship in this organisation


Because of its standing as a dominant force in the Python industry, I chose to apply for an
internship with Snapfix. For the advancement of my career, the chance to collaborate with a
group of skilled individuals and contribute to real-world initiatives was alluring.
I was initially attracted by the Snapfix's emphasis on Python. I was passionate about Python
and had a strong interest in programming, so I was able to see the enormous potential this
language had in terms of adaptability and scope of uses. The Python expertise of this Snapfix
was a wonderful fit for my career goals and gave me the perfect opportunity to develop my
skills in this area.
My choice was also influenced by the Snapfix’s dedication to creating an inclusive and
collaborative work environment. I desired to be a member of a group where I could gain
knowledge from seasoned experts, engage in thought-provoking conversation, and take part
in worthwhile projects. The Snapfix's emphasis on collaboration and knowledge sharing gave
me confidence that I would get the direction and support I needed to succeed in my
internship.
My interest in this Snapfix was further piqued by its track record of providing clients with
high-quality solutions. Through my discussions and research, I learned that the Snapfix had a
solid reputation for creating innovative, scalable, and strong Python-based apps. It was an
exciting possibility to have the chance to work on such initiatives as an intern because I
would be able to get practical experience and have a real influence.

5|Page
216480316039

The Snapfix's dedication to ongoing learning and professional development also matched my
personal ideals. I was impressed with the Snapfix's internal training initiatives, such as
workshops and seminars, which it provides to staff members to assist them develop their
abilities and keep current on developments in the Python environment. This emphasis on
development and learning fit in with want to learn more and become a better Python coder.
1.3 Justification for choosing the organization
My choice of this organisation as a Python developer was influenced by a number of strong
factors that completely match my professional objectives and aspirations in the sector. The
main grounds for choosing this organisation are listed below:

Strong Focus on Python: I made my choice in part because of this Snapfix's strong emphasis
on Python development. Python is a strong and flexible programming language, so I
immediately saw its enormous potential for creating reliable and scalable systems. I was
certain that because the Snapfix specialises in Python, I would have the chance to work on
interesting projects and build a thorough understanding of Python programming.

Team of Experienced and Knowledgeable Professionals: The business has a group of


knowledgeable individuals who are experts in Python development.
Working with such people would give me access to crucial mentorship and assistance,
allowing me to develop my talents and discover best practises for the business. I would be
able to keep up with the most recent developments in Python programming if I worked with a
skilled team that promoted a culture of constant learning.

1.4 Experience spending time in organisation


My time spent working here as a Python developer has been incredibly enlightening and has
far beyond my expectations in many ways. I was welcomed right away into a friendly,
helpful workplace culture that encouraged both my professional and personal development.
Here are some of my experience's major highlights:

Practical Project Experience: Working on actual projects was one of the most beneficial
experiences I had during my stay here. I was given responsibility for important tasks right
away and given the freedom to participate in project development. I was able to put my
Python knowledge to use, discover new technologies, and gain useful understanding of the
software development process thanks to this practical experience.

Mentorship and advising: The Snapfix's focus on mentoring was crucial in my


development as a Python programmer. I had the honour of working closely with
knowledgeable experts who were ready and prepared to mentor and help me at all times.
Their knowledge, helpful criticism, and eagerness to impart it helped me improve my abilities
and deepen my grasp of Python programming best practises.

Opportunities for continual Learning: Professional growth and continual learning were given
real priority by this Snapfix. I was inspired to investigate new technologies, go to pertinent
conferences and seminars, and participate in internal knowledge-sharing sessions. Through
these possibilities, the organisation significantly improved my technical proficiency and kept
me up to date on the most recent developments in Python and related fields.

6|Page
216480316039

2. ROLES AND RESPONSIBILITIES DURING


INTERNSHIP
2.1 Daily Tasks and Activities
Date:
Day:
Task 1: List out python keywords and operators.
Keywords:
 Python keywords are special reserved words that have specific meanings and purposes and
can’t be used for anything but those specific purposes.
 In python version around 3.7 and 3.8 there are total of 35 keywords, They are,

Table no. 2.1.1

1. False - Value keyword used as Boolean true value in python code.


2. True - Value keyword used as Boolean false value in python code.
3. await - Python’s await keyword is used in asynchronous functions to specify a point in
4. the function where control is given back to the event loop for other functions to run.
5. else – Conditional statement
6. import – To impot a module or packages
7. pass – This statement will do nothing and will pass something where it is used for.
8. None – It represents a null value.
9. break – It is a control statement used to break the loop.
10. Except – It tells what to do when exception occurs.
11. in – It checks that are there any values in data structure.
12. raise – It is used to raise an exception.
13. Class – It is used to create and define class.
14. Finally – a block of code will be executed no matter if there is a exception or not.
15. is – It is used to check the equality of two variables.
16. return – it is used to return a value
17. and – it  is used to determine if both the left and right operands are truthy or falsy.
18. continue – It is used to continue the loop
19. for – It is a conditional statement used to create loop
20. lambda – Used to create anonymous function.
21. try – To make a try and except statement
22. as – used to create an alias
23. def – used to create and define user define function
24. from – used to tell from which from specific module should be included.
25. nonlocal – To declare a nonlocal variable
26. while – it is a control statement used to loop specific tasks.
27. assert – It is used for debugging.
28. del – used to delete a object.
29. global – used to declare a global variable
30. not – it is used to get the opposite Boolean value of a variable.
31. with – It is used to simplify the exception handling.
32. async – it is used with def to define an asynchronous function.
33. elif - is used with def to define an asynchronous function .
34. if – It is a control statement used to select a specific option if the statement is true.

7|Page
216480316039

35. or -  used to determine if at least one of the operands is truthy.


36. yield – It is used to end a function.

Operators:
 Python divided the operators in 7 groups :

1. Python Arithmetic Operators


Assume variable a holds 10 and variable b holds 20, then –
Table no. 2.1.2

Operator Description Example

+ Addition Adds values on either side of the operator. a + b =


30

- Subtraction Subtracts right hand operand from left hand operand. a–b=-
10

* Multiplies values on either side of the operator a * b =


Multiplication 200

/ Division Divides left hand operand by right hand operand b/a=2

% Modulus Divides left hand operand by right hand operand and returns b % a =
remainder 0

** Exponent Performs exponential (power) calculation on operators a**b =10


to the
power 20

// Floor Division - The division of operands where the result is the 9//2 = 4
quotient in which the digits after the decimal point are removed. But and
if one of the operands is negative, the result is floored, i.e., rounded 9.0//2.0
away from zero (towards negative infinity) − = 4.0, -
11//3 = -
4, -
11.0//3 =
-4.0

8|Page
216480316039

2. Python comparison operators


These operators compare the values on either sides of them and decide the relation among
them. They are also called Relational operators.
Assume variable a holds 10 and variable b holds 20, then –
Table no. 2.1.3

Operator Description Example

== If the values of two operands are equal, then the condition becomes true. (a == b)
is not
true.

!= If values of two operands are not equal, then condition becomes true. (a != b)
is true.

<> If values of two operands are not equal, then condition becomes true. (a <> b)
is true.
This is
similar
to !=
operator.

> If the value of left operand is greater than the value of right operand, then (a > b) is
condition becomes true. not true.

< If the value of left operand is less than the value of right operand, then (a < b) is
condition becomes true. true.

>= If the value of left operand is greater than or equal to the value of right (a >= b)
operand, then condition becomes true. is not
true.

<= If the value of left operand is less than or equal to the value of right (a <= b)
operand, then condition becomes true. is true.

3. Python Assignment Operator

9|Page
216480316039

Assume variable a holds 10 and variable b holds 20, then –


Table no. 2.1.4

Operator Description Example

= Assigns values from right side operands to left side operand c = a + b


assigns
value of a
+ b into c

+= Add It adds right operand to the left operand and assign the result to left c += a is
AND operand equivalent
to c = c +
a

-= Subtract It subtracts right operand from the left operand and assign the result to c -= a is
AND left operand equivalent
to c = c -
a

*= Multiply It multiplies right operand with the left operand and assign the result to c *= a is
AND left operand equivalent
to c = c *

/= Divide It divides left operand with the right operand and assign the result to c /= a is
AND left operand equivalent
to c = c /
a

%= It takes modulus using two operands and assign the result to left c %= a is
Modulus operand equivalent
AND to c = c %
a

**= Performs exponential (power) calculation on operators and assign c **= a is


Exponent value to the left operand equivalent
AND to c = c
** a

//= Floor It performs floor division on operators and assign value to the left c //= a is
Division operand equivalent
to c = c //
a

10 | P a g e
216480316039

4. Python Bitwise Operators


Bitwise operator works on bits and performs bit by bit operation. Assume if a = 60; and b =
13; Now in the binary format their values will be 0011 1100 and 0000 1101 respectively.
Following table lists out the bitwise operators supported by Python language with an example
each in those, we use the above two variables (a and b) as operands −
a = 0011 1100
b = 0000 1101
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a  = 1100 0011

There are following Bitwise operators supported by Python language


Table no. 2.1.5

Operator Description Example

& Binary Operator copies a bit to the result if it exists in both operands (a & b)
AND (means
0000 1100)

| Binary OR It copies a bit if it exists in either operand. (a | b) = 61


(means
0011 1101)

^ Binary It copies the bit if it is set in one operand but not both. (a ^ b) = 49
XOR (means
0011 0001)

~ Binary (~a ) = -61


Ones (means
Complement 1100 0011
in 2's
It is unary and has the effect of 'flipping' bits. complement
form due to
a signed
binary
number.

<< Binary The left operands value is moved left by the number of bits a << 2 =
Left Shift specified by the right operand. 240 (means
1111 0000)

11 | P a g e
216480316039

>> Binary The left operands value is moved right by the number of bits a >> 2 = 15
Right Shift specified by the right operand. (means
0000 1111)

1. Python Logical Operators


There are following logical operators supported by Python language. Assume variable a holds
10 and variable b holds 20 then
Table no. 2.1.6

Operator Description Example

and Logical If both the operands are true then condition becomes true. (a and b) is true.
AND

or Logical OR If any of the two operands are non-zero then condition (a or b) is true.
becomes true.

not Logical Used to reverse the logical state of its operand. Not(a and b) is
NOT false.

2. Python Membership Operator


Python’s membership operators test for membership in a sequence, such as strings, lists, or
tuples. There are two membership operators as explained below
Table no. 2.1.7

Operator Description Example

in Evaluates to true if it finds a variable in the specified sequence x in y, here in


and false otherwise. results in a 1 if x
is a member of
sequence y.

not in Evaluates to true if it does not finds a variable in the specified x not in y, here
sequence and false otherwise. not in results in a
1 if x is not a
member of
sequence y.

12 | P a g e
216480316039

3. Python Identity Operators


Table no. 2.1.8

Operato Description Example


r

is Evaluates to true if the variables on either side of the operator point x is y,


to the same object and false otherwise. here is results
in 1 if id(x)
equals id(y).

is not Evaluates to false if the variables on either side of the operator point x is not y,
to the same object and true otherwise. here is
not results in
1 if id(x) is
not equal to
id(y).

Task 2: Explain structured, unstructured, semi structured data with


example
Structured data –
Structured data is data whose elements are addressable for effective analysis. It has been
organized into a formatted repository that is typically a database. It concerns all data which
can be stored in database SQL in a table with rows and columns. They have relational keys
and can easily be mapped into pre-designed fields. Today, those data are most processed in
the development and simplest way to manage information. Example: Relational data.

Structured data is information that has been formatted and transformed into a well-defined
data model. The raw data is mapped into predesigned fields that can then be extracted and
read through SQL easily. SQL relational databases, consisting of tables with rows and
columns, are the perfect example of structured data.

The relational model of this data format utilizes memory since it minimizes data redundancy.
However, this also means that structured data is more inter-dependent and less flexible. Now
let’s look at more examples of structured data.

13 | P a g e
216480316039

Example of Structured data –

This type of data is generated by both humans and machines.  There are numerous examples
of structured data generated by machines, such as POS data like quantity, barcodes, and
weblog statistics. Similarly, anyone who works on data would have used spreadsheets once in
their lifetime, which is a classic case of structured data generated by humans. Due to the
Snapfix of structured data, it is easier to analyze than both semi-structured and unstructured
data.

Unstructured data –
Unstructured data is a data which is not organized in a predefined manner or does not have
a predefined data model, thus it is not a good fit for a mainstream relational database. So
for Unstructured data, there are alternative platforms for storing and managing, it is
increasingly prevalent in IT systems and is used by Snapfixs in a variety of business
intelligence and analytics applications. Example: Word, PDF, Text, Media logs. 

Unstructured data is defined as data present in absolute raw form. This data is difficult to
process due to its complex arrangement and formatting. Unstructured data management may
take data from many forms, including social media posts, chats, satellite imagery, IoT sensor
data, emails, and presentations, to organize it in a logical, predefined manner in a data
storage. In contrast, the meaning of structured data is data that follows predefined data
models and is easy to analyze. Structured data examples would include alphabetically
arranged names of customers and properly organized credit card numbers. After
understanding the definition of unstructured data, let’s look at some examples.

Examples of Unstructured Data -


Unstructured data can be anything that’s not in a specific format. This can be a paragraph
from a book with relevant information or a web page. An example of unstructured data could
also be Log files that are not easy to separate. Social media comments and posts need to be
analyzed.
Unstructured data is qualitative, not quantitative, so it is mostly categorical and characteristic
in nature. For example, data from social media or websites can be used to figure out future
buying trends or determine the effectiveness of a marketing campaign. Another unstructured
data analytics example is detecting patterns in scam emails and chat, which can be useful for
enterprises in monitoring policy compliance. That’s why unstructured data is extracted and
stored in unstructured data warehouses (also called data lakes) for analysis.

Semi structured data –

Semi-structured data is information that does not reside in a relational database but that has
some Snapfixal properties that make it easier to analyze. With some processes, you can store
them in the relation database (it could be very hard for some kind of semi-structured data),
but Semi-structured exist to ease space. Example: XML data. 
Your data sets may not always be structured or unstructured; semi-structured data or partially
structured data is another category between structured and unstructured data. Semi-structured
data is a type of data that has some consistent and definite characteristics. It does not confine

14 | P a g e
216480316039

into a rigid structure such as that needed for relational databases. Snapfixal properties like
metadata or semantics tags are used with semi-structured data to make it more manageable;
however, it still contains some variability and inconsistency.
Examples of Semi-Structured Data

An example of data semi-structured format is delimited files. It contains elements that can
break down the data into separate hierarchies. Similarly, in digital photographs, the image
does not have a pre-defined structure itself but has certain structural attributes making them
semi-structured. For instance, if an image is taken from a smartphone, it would have some
structured attributes like geotag, device ID, and DateTime stamp. After being stored, images
can also be assigned tags such as ‘pet’ or ‘dog’ to provide a structure.

Task 3:Build a GST calculation program with multiple categories having


different percentages:

Fig 2.1.1

15 | P a g e
216480316039

Fig 2.1.2

Task 4: List out 5 methods of list, set and dictionary. Explain them with
example.
Python has a set of built-in methods that you can use on lists/arrays.
Table no. 2.1.9

Method Description

append() Adds an element at the end of the list

clear() Removes all the elements from the list

copy() Returns a copy of the list

insert() Adds an element at the specified position

pop() Removes the element at the specified position

remove() Removes the first item with the specified


value
Example of append():

16 | P a g e
216480316039

Fig 2.1.3

Output:

Fig 2.1.4

Example of remove():

Fig 2.1..5
Output:

Fig 2.1.6

Example of pop()

Fig 2.1.7
Output:

Fig 2.1.8

17 | P a g e
216480316039

Example of push()

Fig 2.1.9
Output:

Fig 2.1.10
Task 5: Build a student report card program which can take subject, marks as input
and return the marks of students using function.

Fig 2.1.11

18 | P a g e
216480316039

Output:

Fig 2.1.12
Task 6:Build a program to find factorial, prime and odd even from user input:
Odd and Even:

Fig 2.1.13
Output:

Fig 2.1.14

19 | P a g e
216480316039

Prime:

Fig 2.1.15
Output:

Fig 2.1.16

20 | P a g e
216480316039

Date:
Day:
Task 1: List out five inbuilt libraries of python and use their methods with
example.
library is a collection of books or is a room or place where many books are stored to be
used later. Similarly, in the programming world, a library is a collection of precompiled
codes that can be used later on in a program for some specific well-defined operations.
Other than pre-compiled codes, a library may contain documentation, configuration data,
message templates, classes, and values, etc.
Libraries of python are listed below:
1. Numpy
 Numpy is considered as one of the most popular machine learning library in Python.

 TensorFlow and other libraries uses Numpy internally for performing multiple operations
on Tensors. Array interface is the best and the most important feature of Numpy.

Features Of Numpy

1. Interactive: Numpy is very interactive and easy to use.


2. Mathematics: Makes complex mathematical implementations very simple.

3. Intuitive: Makes coding real easy and grasping the concepts is easy.


4. Lot of Interaction: Widely used, hence a lot of open source contribution.

Methods:

1. numpy.vstack()

Numpy.vstack is a function in Python which is used to vertically stack sequences of input


arrays in order to make a single array. With vstack() function, you can append data vertically.

Example:

21 | P a g e
216480316039

Fig 2.1.17

Output:

Fig 2.1.18
2. Scipy
 SciPy in Python is an open-source library used for solving mathematical, scientific,
engineering, and technical problems. It allows users to manipulate the data and visualize the
data using a wide range of high-level Python commands. SciPy is built on the Python NumPy
extention. SciPy is also pronounced as “Sigh Pi.”
Methods:
1. cbrt()
This is used to return the cube root of the given number
Example:

Fig 2.1.19
Output:

Fig 2.1.20
3.Scikit-learn
 Scikit-learn (Sklearn) is the most useful and robust library for machine learning in Python.
It provides a selection of efficient tools for machine learning and statistical modeling
including classification, regression, clustering and dimensionality reduction via a consistence
interface in Python. This library, which is largely written in Python, is built upon NumPy,
SciPy and Matplotlib.

4.Pandas
22 | P a g e
216480316039

 Pandas is an open source Python package that is most widely used for data science/data
analysis and machine learning tasks. It is built on top of another package named Numpy,
which provides support for multi-dimensional arrays.
Table no. 2.1.10

Meta Character     Description              Example          

         \d whole numbers( 0-9 )(single digit)  \d = 7,  \d\d=77

\w\w\w\w = geek
\w\w\w =! geek
         \w alphanumeric character

     * 0 or more characters s*  = _,s,ss,sss,ssss…..

     + 1 or more characters s+ = s,ss,sss,ssss…..

     ?  0 or 1 character s?  = _ or s

        {m} occurs “m” times sd{3} = sddd

       {m,n} min “m” and max “n” times sd{2,3}=sdd or sddd

        \W   symbols  \W = %

geek[sy] = geeky
geek[sy] != geeki
[a-z]  or [0-9] character set

5.Tensorflow
 TensorFlow is an end-to-end open-source machine learning platform with a focus on deep
neural networks. Deep learning is a subtype of machine learning that analyses massive
amounts of unstructured data. Since it works with structured data, deep learning is different
from normal machine learning.

Task 3:

23 | P a g e
216480316039

List put at least 10 meta characters and use them in pattern for email and
phone number validation.
Metacharacters are considered as the building blocks of regular expressions. Regular
expressions are patterns used to match character combinations in the strings. Metacharacter
has special meaning in finding patterns and are mostly used to define the search criteria and
any text manipulations.
Email
validation:

Fig 2.1.21
Output:

Fig 2.1.22

Phone number validation:

24 | P a g e
216480316039

Fig 2.1.23
Output:

Fig 2.1.24

Date:
Day:
Task 1: Create a signup page with basic CSS properties and validations.

25 | P a g e
216480316039

Fig 2.1.25

26 | P a g e
216480316039

Fig 2.1.26

Date:
Day:
Task 1: Create a Django project with application
Below are steps to create a Django project with application:
Step 1:
To create a new project , first we need to select the folder in which we have to create a
project, for that we use the command ‘cd’. After cd write the path where we have to create a
project. For example if we have to create project on desktop the we will write ‘cd Desktop/’.

Fig 2.1.27
Step 2:
Once we select the directory , after that to create a new project we use command ‘django-
admin.
startproject projectname’ and the folder will be created itself.

27 | P a g e
216480316039

Fig 2.1.28
After the project is created select the folder in which the project is created and then select
the project.

Fig 2.1.29

Fig 2.1.30

28 | P a g e
216480316039

Fig 2.1.31
Now the project is created , to create a application in it we need to follow below steps:
Step 3:
To create a new application in our project , ‘python manage.py startapp appname’ command
will be used.

Fig 2.1.32

29 | P a g e
216480316039

Once we fire this command , the app will be created.

Fig 2.1.33

30 | P a g e
216480316039

Date:
Day:
Task 1:
Create a multiple html files using internal css with working navigation bar
Signup.html

Fig 2.1.34

31 | P a g e
216480316039

Fig 2.1.35

Fig 2.1.36

32 | P a g e
216480316039

Login page

Fig 2.1.37

33 | P a g e
216480316039

Fig 2.1.38

Fig 2.1.39

34 | P a g e
216480316039

Contacts page

Fig 2.1.40

35 | P a g e
216480316039

Fig 2.1.41

36 | P a g e
216480316039

Output:
Signup page:

Fig 2.1.42
Login page:

Fig 2.1.43

37 | P a g e
216480316039

Contacts page:

Fig 2.1.44
Date:
Day:
Task 1:
List out error code with explanation
Table no. 2.1.11
Error Explanation
AssertionError Raised when the assert statement fails.
AttributeError Raised on the attribute assignment or reference fails.
EOFError Raised when the input() function hits the end-of-file condition.
FloatingPointError Raised when a floating point operation fails.
GeneratorExit Raised when a generator's close() method is called.
ImportError Raised when the imported module is not found.
IndexError Raised when the index of a sequence is out of range.
KeyError Raised when a key is not found in a dictionary.
KeyboardInterrupt Raised when the user hits the interrupt key (Ctrl+c or delete).
MemoryError Raised when an operation runs out of memory.
NameError Raised when a variable is not found in the local or global scope.
NotImplementedError Raised by abstract methods.
OSError Raised when a system operation causes a system-related error.
OverflowError Raised when the result of an arithmetic operation is too large to be
represented.
ReferenceError Raised when a weak reference proxy is used to access a garbage collected
referent.
RuntimeError Raised when an error does not fall under any other category.

38 | P a g e
216480316039

Error Explanation
StopIteration Raised by the next() function to indicate that there is no further item to be
returned by the iterator.
SyntaxError Raised by the parser when a syntax error is encountered.
IndentationError Raised when there is an incorrect indentation.
TabError Raised when the indentation consists of inconsistent tabs and spaces.
SystemError Raised when the interpreter detects internal error.
SystemExit Raised by the sys.exit() function.
TypeError Raised when a function or operation is applied to an object of an incorrect
type.
UnboundLocalError Raised when a reference is made to a local variable in a function or
method, but no value has been bound to that variable.
UnicodeError Raised when a Unicode-related encoding or decoding error occurs.
UnicodeEncodeError Raised when a Unicode-related error occurs during encoding.
UnicodeDecodeError Raised when a Unicode-related error occurs during decoding.
UnicodeTranslateError Raised when a Unicode-related error occurs during translation.
ValueError Raised when a function gets an argument of correct type but improper
value.
ZeroDivisionError Raised when the second operand of a division or module operation is zero.

Date:
Day:
Task 1: List out 3 ORM queries with examples
ORM stands for Object Relational Mapping. An object-relational mapper (ORM) is a code
library that automates the transfer of data stored in relational database tables into objects that
are more commonly used in application code.
Below is the database table created to perform the orm queries:

Fig 2.1.45

39 | P a g e
216480316039

1.To retrieve all the records from database

Fig 2.1.46
1.Creating a new object for inserting data

Fig 2.1.47
2.Filter object using field value

Fig 2.1.48

Date:

40 | P a g e
216480316039

Day:
Task1: Build a login signup module with design:
Signup page:

Fig 2.1.49

41 | P a g e
216480316039

Fig 2.1.50
Login page:

Fig 2.1.51

42 | P a g e
216480316039

Fig 2.1.52
Signup page:

Fig 2.1.53

43 | P a g e
216480316039

Fig 2.1.54
When we enter wrong id or password

Fig 2.1.55

44 | P a g e
216480316039

Fig 2.1.56

Fig 2.1.57
Date:
Day:
Task1: Explain session and cookies with their applications:

A session is the total time devoted to an activity. In computer systems, a user session begins
when a user logs in to or accesses a particular computer, network, or software service. It ends
when the user logs out of the service, or shuts down the computer. A session can temporarily
store information related to the activities of the user while connected. A session cookie is
used in web pages for storing information in case the user leaves the web page or closes
down their Internet browser. For example, this is one way a website can remember what is in
your shopping cart if you leave and come back.

In computer programming, session variables store temporary information, sometimes to use


for retrieving and viewing data on multiple web pages. Websites requiring a username and
password use session variables to help transfer data between web pages, but only while the
user is logged in to the computer.

Session is used mostly in web applications, web site login/signup session, cookies, shopping
websites etc.

Cookies are text files with small pieces of data — like a username and password — that are
used to identify your computer as you use a computer network. Specific cookies known as
HTTP cookies are used to identify specific users and improve your web browsing experience.

45 | P a g e
216480316039

Data stored in a cookie is created by the server upon your connection. This data is labeled
with an ID unique to you and your computer.

When the cookie is exchanged between your computer and the network server, the server
reads the ID and knows what information to specifically serve to you.

HTTP cookies, or internet cookies, are built specifically for Internet web browsers to track,
personalize, and save information about each user’s session. A “session” just refers to the
time you spend on a site.

Cookies are created to identify you when you visit a new website. The web server — which
stores the website’s data — sends a short stream of identifying info to your web browser.

Browser cookies are identified and read by “name-value” pairs. These tell cookies where to
be sent and what data to recall.

The server only sends the cookie when it wants the web browser to save it. If you’re
wondering “where are cookies stored,” it’s simple: your web browser will store it locally to
remember the “name-value pair” that identifies you.

If a user returns to that site in the future, the web browser returns that data to the web server
in the form of a cookie. This is when your browser will send it back to the server to recall
data from your previous sessions.

Cookies are used in:

1. Session management. For example, cookies let websites recognize users and recall
their individual login information and preferences, such as sports news versus politics.
2. Personalization. Customized advertising is the main way cookies are used to
personalize your sessions. You may view certain items or parts of a site, and cookies
use this data to help build targeted ads that you might enjoy.
3. Tracking. Shopping sites use cookies to track items users previously viewed,
allowing the sites to suggest other goods they might like and keep items in shopping
carts while they continue shopping.

46 | P a g e
216480316039

Task: Build a ecommerce type home page which have header footer

Fig 2.1.58

47 | P a g e
216480316039

Fig 2.1.59

48 | P a g e
216480316039

Fig 2.1.60

49 | P a g e
216480316039

Fig 2.1.61

50 | P a g e
216480316039

Fig 2.1.62
Output:

Fig 2.1.63

51 | P a g e
216480316039

Fig 2.1.64

Date:
Day:

Task 1: Build a web application with flow containing user side and admin side both.

52 | P a g e
216480316039

Fig 2.1.65

Fig 2.1.66

53 | P a g e
216480316039

Fig 2.1.67

Fig 2.1.68

54 | P a g e
216480316039

Fig 2.1.69

Fig 2.1.70

55 | P a g e
216480316039

Fig 2.1.71
3.2 Roles and Responsibilities
 Designing And Developing Software Solutions.
 Requirement Analysis.
 Coding.
 Collaborating with Cross-functional teams.
3.3 Problems Given
Following problems are addressed during the internship:
My development as a Python programmer. I had the honour of working closely with
knowledgeable experts who were ready and prepared to mentor and help me at all times.
Their knowledge, helpful criticism, and eagerness to impart it helped me improve my abilities
and deepen my grasp of Python programming best practises.

Opportunities for continual Learning: Professional growth and continual learning were given
real priority by this Snapfix. I was inspired to investigate new technologies, go to pertinent
conferences and seminars, and participate in internal knowledge-sharing sessions. Through
these possibilities, the organisation significantly improved my technical proficiency and kept
me up to date on the most recent developments in Python and related fields.

56 | P a g e
216480316039

4. SKILLS LEARNED
4.1 Learning Outcome
Learning outcomes of the internship are given below:
Python proficiency: Working on actual projects within the Snapfix gave me a great chance
to hone my Python abilities. I developed a thorough understanding of Python's syntax,
features, and capabilities through practical experience and exposure to a variety of projects.
My ability to develop clear, effective, and maintainable Python code has improved.
Problem-Solving and Optimisation: I improved my problem-solving abilities by addressing
performance and scalability difficulties. I gained knowledge of many methodologies,
including code profiling, algorithmic advancements, and the use of specialised libraries, for
code analysis, bottleneck identification, and performance optimisation. My ability to scalably
and efficiently improve Python apps as a result of this experience.
Collaboration and communication: Effective teamwork and communication were
developed by working in a collaborative and supportive environment. Through conversations
with seasoned people, I gained insightful knowledge regarding collaborative software
development practices. This improved my ability to work effectively in a team, communicate
ideas clearly, and contribute to the success of projects.

4.2 About the Skills Learned


About the skills learning of the internship are given below:
Python programming expertise: Working on a variety of projects and meeting real-world
issues have improved my Python programming expertise. I now have a thorough
understanding of the grammar, data structures, and built-in functions of the language. I can
write Python code that is clear, effective, and maintainable thanks to my knowledge.
Problem-Solving and Optimisation: I've improved my problem-solving abilities by tackling
performance and scalability concerns. I've learned how to evaluate code, locate performance
issues, and enhance efficiency utilising a variety of methods, including code profiling,
algorithmic advancements, and leveraging specialised libraries. With this skill set, I can
increase the scalability and efficiency of Python apps.
Collaboration and communication: I have improved my collaboration and communication
skills by working in a collaborative team atmosphere. I now know how to exchange
information, express my ideas clearly, and collaborate with others.

57 | P a g e
216480316039

5. CHALLENGES FACED DURING INTERNSHIP


Challenges faced during the internship are given below:

During my internship as a Python developer, I encountered several challenges that tested my


skills and problem-solving abilities. These challenges provided valuable learning
opportunities and helped me grow both technically and professionally. Here are some of the
key challenges I faced during my internship:
Learning Curve: As an intern, I had to quickly familiarize myself with the Snapfix's
development environment, coding standards, and project-specific requirements. Adapting to
new tools, frameworks, and project structures posed an initial learning curve. However, I
overcame this challenge by seeking guidance from mentors, leveraging online resources, and
actively engaging with the development team.
Project Complexity: Some of the projects assigned to me had complex requirements and
involved working with intricate codebases. Understanding the existing code, identifying
relevant modules, and integrating new features were initially daunting tasks. To overcome
this challenge, I adopted a systematic approach, reviewed documentation, and collaborated
closely with experienced team members to gain insights and effectively contribute to the
projects.
Time Management: Balancing multiple projects and deadlines posed a significant challenge
during my internship. Prioritizing tasks, managing time effectively, and meeting project
milestones required careful planning and Snapfix. To address this challenge, I improved my
time management skills, communicated proactively with project managers, and set realistic
expectations regarding deliverables.

6. OVERALL EXPERIENCE
6.1 Technical Experience
Technical experience of the internship is given below:
Python programming: I was able to expand my knowledge and comprehension of the
Python programming language by working on actual projects. Python's syntax, data
structures, control flow, and object-oriented programming principles were all introduced to
me through practical experience. I am now able to develop Python code that is clear,
effective, and readable thanks to this experience.
Django web development: I had the chance to work extensively with the Django web
framework as a Python developer. With the help of Django's strong capabilities, like URL
routing, templating, database connectivity, and form handling, I obtained practical experience
creating web applications. Through this experience, I was better able to create scalable and
secure web solutions and comprehend the MVC (Model-View-Controller) architecture's
guiding principles.
Database Integration: For my internship, I had to save and retrieve data using databases. I
acquired practical knowledge in Object-Relational Mappers (ORMs) like Django's built-in
ORM or SQLAlchemy are used to integrate databases with Python applications. In the
context of a Python application, this experience helped me better comprehend ideas like data
modelling, querying, and guaranteeing data integrity.

58 | P a g e
216480316039

6.2 Personal Experience


Personal experience of the internship is given below:
Learning Attitude: The internship gave me access to a setting that encouraged a philosophy
of lifelong learning. I took advantage of the chance to explore new coding paradigms, learn
new technologies, and broaden my knowledge outside the purview of the projects that were
given to me. This event sparked my interest in lifetime learning and piqued my desire about
learning more about Python development.
Problem-Solving Resilience: By dealing with a variety of difficulties during my internship, I
improved my problem-solving skills. Every obstacle served as a learning opportunity for
critical thinking and looking at different options.

7. CONCLUSIONS
In conclusion, my experience working as a Python developer intern for this Snapfix has been
rewarding and life-changing. My technical knowledge, personal development, and
professional insights have helped me grow and have helped me become a more competent
and self-assured developer. I got the chance to engage with a talented group of experts, work
on projects that were relevant to the real world, and overcome challenging situations
throughout my internship.
I've become proficient in a number of technical areas, including Python programming,
Django web development, database integration, Git version control, testing and debugging,
front-end development, deployment and DevOps, and Agile development approaches. These
technical abilities have given me a solid foundation and given me the tools I need to succeed
in the Python programming industry.

59 | P a g e
216480316039

8. BIBLIOGRAPHY/REFERENCES
Harry J.W. Percival, "Test-Driven Development with Python"
Visit https://docs.djangoproject.com/ for the official Django documentation.
(https://docs.python.org/) Official Python documentation
Udemy, Coursera, and Codecademy are online learning portals that provide Python and
Django courses.
Django for Beginners" by William S. Vincent
"Two Scoops of Django 3.x: Best Practices for the Django Web Framework" by Daniel Roy
Greenfeld and Audrey Roy Greenfeld
"Django 3 By Example" by Antonio Mel

60 | P a g e
216480316039

ACKNOWLEDGEMENT
I am very thankful for giving me the opportunity to undertake my internship training at the
prestigious "Company Name". It was a very good learning experience for me to have at this
site.
First, I would like to thank Head of The Department of College Name for giving permission
to commence this Internship.
Further, I would like to express my sincere gratitude to my Industrial Mentor External
Guide Name for continuously guiding me at the company and dispel all my doubts with
patience. Also, I am very obliged to my Internal Mentor External Guide Name for helping
me throughout my internship and giving me a necessary suggestions and advices along with
their valuable coordination. Without their continuous support it would not have been possible
to complete my internship.
I own my wholehearted thanks and appreciation to the entire staff of the company for their
cooperation and assistance during my internship. 
I also thank my parents, friends, and all the members of the family for their precious support
and encouragement which they had provided in the completion of my work.

Student Name
Department Name
Enrollment No.

61 | P a g e

You might also like