• No results found

EasyChair Preprint. Online Voting System Using Python and Django

N/A
N/A
Protected

Academic year: 2021

Share "EasyChair Preprint. Online Voting System Using Python and Django"

Copied!
21
0
0

Loading.... (view fulltext now)

Full text

(1)

EasyChair Preprint

№ 4822

Online Voting System Using Python and Django

Vempala Durga Maheshwari, Kalyani Ashwini, Byathala Balraj and Monapati Sai Pavan Krishna

EasyChair preprints are intended for rapid dissemination of research results and are integrated with the rest of EasyChair.

(2)

ONLINEVOTINGSYSTEM USINGPYTHONANDDJANGO

DURGAMAHESHWARI,KALYANIASHWINI,BYATHALABALRAJ,

M.SAIPAVANKRISHNA

MALLAREDDYCOLLEGEOFENGINEERING

ABSTRACT:

Djangopollapplicationisafull featured polling application. This application Features are theuserhavetoregisterinthis application to show thepolls and to vote.Ifuseralready voted, he cannot vote again.Onlytheownerofapoll canaddpoll,editpoll,update poll,delete poll,and choice, update choice,delete choice andendapoll.Endedpollonly showsuserthefinalresultof

the poll.There is a search option for polls to search particularpoll.Usercanfilter polls by name,publish date, and by number of voted paginationwillworkevenafter applyingfilter.

I

NTRODUCTI

ON:

Wewillcreateapollster(voting system)webapplicationusing Django.This application will conductaseriesofquestions along with many choices.A userwillbe allowed to give

(3)

voting for that question by selecting a choice.Based on theanswerthetotalvoteswill be calculated and itwillbe displayedtotheuser.Userscan alsochecktheresultofthetotal votesforspecificquestionson the website directly.We will alsobuildtheadminpartofthis project.Admin user willbe allowedtoaddquestionsand manage questions in the application

Pre-requisite: Knowledge of Python and basics ofDjango Framework.Python should be installedinthesystem.Visual studiocodeoranycodeeditor toworkontheapplication.

Technologies used in the project: Djangoframeworkand

SQLitedatabasewhichcomes bydefaultwithDjango.

PYTHON:

Pythonisahigh-level, interpreted, interactive and object-oriented scripting language.Python is designed tobehighlyreadable.Ituses English keywords frequently whereasotherlanguagesuse punctuation,andithasfewer syntacticalconstructionsthan otherlanguages.

PythonisInterpreted −

Pythonisprocessedat runtimebythe

interpreter.Youdonot needtocompileyour programbefore

executingit.Thisis

similartoPERLandPHP.

PythonisInteractive −

Youcanactuallysitata Pythonpromptand

(4)

interactwiththe interpreterdirectlyto writeyourprograms.

Pythonis

Object-Oriented − Pythonsupports

Object-Orientedstyleor techniqueof

programmingthat encapsulatescode withinobjects.

PythonisaBeginner's

Language −Pythonisa greatlanguageforthe beginner-level

programmersand supportsthe

developmentofawide rangeofapplications fromsimpletext processingtoWWW browserstogames.

Hi

st

or

yofPyt

hon:

Python was developed by GuidovanRossum inthelate eightiesandearlyninetiesat

theNationalResearchInstitute for Mathematics and Computer Science in the Netherlands.

Pythonisderivedfrom many other languages, including ABC, Modula-3, C, C++, Algol-68,SmallTalk,andUnix shell and other scripting languages.

Python is copyrighted.Like Perl,Python source code is now availableundertheGNU GeneralPublicLicense(GPL). Pythonisnowmaintainedbya coredevelopmentteam atthe institute,although Guido van Rossum stillholdsavitalrole indirectingitsprogress.

Pyt

honFeat

ur

es:

Python'sfeaturesinclude:

Easy-to-learn − Python

has few keywords, simplestructure,and a clearly defined syntax. Thisallowsthestudent topickupthelanguage

(5)

quickly.

Easy-to-read − Python

code is more clearly definedandvisibletothe eyes.

Easy-to-maintain −

Python'ssourcecodeis fairlyeasy-to-maintain.

A broad standard

library −Python'sbulkof the library is very portable and cross-platform

compatible on UNIX, Windows,andMacintosh.

Interactive Mode −

Python hassupportfor an interactive mode whichallowsinteractive testinganddebuggingof snippetsofcode.

Portable − Python can

runonawidevarietyof hardwareplatformsand hasthesameinterface onallplatforms.

Extendable − You can

addlow-levelmodulesto the Python interpreter. These modules enable programmerstoaddto orcustomizetheirtools tobemoreefficient.

Databases − Python

providesinterfacestoall major commercial databases.

GUI Programming −

Python supports GUI applicationsthatcanbe created and ported to many system calls, libraries and windows systems, such as Windows MFC, Macintosh,and the X WindowsystemofUnix.

Scalable − Python

provides a better structureandsupportfor large programs than shellscripting.

Apart from the above-mentioned features, Pythonhasabiglistofgood

(6)

features,fewarelistedbelow−

It supports functional

and structured programming methods aswellasOOP.

It can be used as a

scripting language or can be compiled to byte-code for building largeapplications.

Itprovidesveryhigh-level

dynamicdatatypesand supports dynamic type checking.

It supports automatic

garbagecollection.

It can be easily

integrated with C,C++, COM,ActiveX,CORBA, andJava.

Pythonisavailableonawide varietyofplatformsincluding Linux and Mac OS X.Let's understandhow tosetupour Pythonenvironment.

Local

Envi

r

onment

Set

up:

Openaterminalwindow and type"python"tofindoutifitis already installed and which versionisinstalled.

Unix (Solaris, Linux,

FreeBSD, AIX, HP/UX, SunOS,IRIX,etc.)

Win9x/NT/2000

Macintosh (Intel, PPC,

68K)

OS/2

DOS(multipleversions) PalmOS

Nokiamobilephones WindowsCE

Acorn/RISCOS BeOS

Amiga

(7)

QNX VxWorks Psion

Python has also been

ported to the Java and .NETvirtualmachines

Get

t

i

ngPyt

hon:

Themostup-to-dateand

currentsourcecode,binaries, documentation,news,etc.,is availableontheofficial websiteof

Python https://www.python.or g/

YoucandownloadPython documentation

from https://www.python.org/ doc/.Thedocumentationis availableinHTML,PDF,and PostScriptformats.

I

nst

al

l

i

ngPyt

hon:

Pythondistributionisavailable forawidevarietyofplatforms.

Youneedtodownloadonlythe binarycodeapplicableforyour platformandinstallPython. Ifthebinarycodeforyour platform isnotavailable,you needaCcompilertocompile thesourcecodemanually. Compilingthesourcecode offersmoreflexibilityinterms ofchoiceoffeaturesthatyou requireinyourinstallation. Hereisaquickoverviewof installingPythononvarious platforms

Wi

ndowsI

nst

al

l

at

i

on:

Herearethestepstoinstall PythononWindowsmachine.

OpenaWebbrowserand

go

to https://www.python.o rg/downloads/.

Follow the link forthe

Windows

installer python-XYZ.msi  file where XYZ is the version you need to install.

(8)

To use this

installer python-XYZ.msi, the Windows system mustsupportMicrosoft Installer 2.0.Save the installerfiletoyourlocal machineandthenrunit to find out if your machinesupportsMSI.

Runthedownloadedfile.

ThisbringsupthePhon installwizard,which is reallyeasytouse.Just accept the default settings,waituntilthe installis finished,and youaredone.

Set

t

i

ngupPATH:

Programs and other executable files can be in manydirectories,sooperating systemsprovideasearchpath thatliststhedirectoriesthat the OS searches for executables.

The path is stored in an

environmentvariable,whichis anamedstringmaintainedby the operating system. This variable contains information available to the command shellandotherprograms. The path variableisnamedas PATH in Unix or Path in Windows (Unix is case sensitive;Windowsisnot). In Mac OS, the installer handles the path details.To invokethePythoninterpreter from anyparticulardirectory, you must add the Python directorytoyourpath.

Set

t

i

ngpat

hat

Wi

ndows:

ToaddthePythondirectoryto the path for a particular sessioninWindows−

At the command prompt − type path %path%;C:\Python andpressEnter.

Note −C:\Pythonisthepathof thePythondirectory

I

DLE[

I

nt

egr

at

ed

(9)

Envi

ronment

]

:

Every Python installation comes with an Integrated Development and Learning Environment,whichyou’llsee shortenedtoIDLEorevenIDE. These are a class of applications that help you write code more efficiently. Whiletherearemany IDEs for you to choose from,Python IDLEisverybare-bones,which makesittheperfecttoolfora beginningprogrammer.

PythonIDLEcomesincludedin Python installations on WindowsandMac.Ifyou’rea Linuxuser,thenyoushouldbe able to find and download Python IDLE using your package manager. Once you’veinstalledit,youcanthen use Python IDLE as an interactiveinterpreterorasa fileeditor.

AnInteractiveInterpreter:

Thebestplacetoexperiment with Python code is in the interactive interpreter, otherwise known as a shell. The shell is a basic Read-Eval-Print Loop (REPL). It reads a Python statement,evaluatestheresult ofthatstatement,and then printstheresultonthescreen. Then,itloopsbacktoreadthe nextstatement.

ThePythonshellisanexcellent placetoexperimentwithsmall codesnippets.Youcanaccess it through the terminal or command line app on your machine.Youcansimplifyyour workflow with Python IDLE, whichwillimmediatelystarta Pythonshellwhenyouopenit. HowtoUsethePythonIDLE Shell:

Theshellisthedefaultmodeof operationforPythonIDLE. Whenyouclickontheiconto opentheprogram,theshellis thefirstthingthatyousee:

(10)

This is a blank Python interpreter window.You can useittostartinteractingwith Python immediately.You can testitoutwithashortlineof code:

Here,youused print() tooutput thestring "Hello,from IDLE!" to yourscreen.Thisisthemost basic way to interact with Python IDLE. You type in commandsoneatatimeand Pythonrespondswiththeresult ofeachcommand.

GUI[

gr

aphi

caluser

i

nt

er

face]

:

A GUI (graphicaluserinterface) is a system of interactive visual components for computer software. A GUI displays objects thatconvey information, and represent actionsthatcanbetakenby theuser.Theobjectschange color,size,orvisibilitywhen theuserinteractswiththem. GUI objects include icons, cursors,

and buttons.These graphical elements are sometimes enhanced with sounds, or visual effects like transparency and drop shadows.

A GUIis considered to be more user-friendly than a text-based command-line

interface,suchas MS-DOS,or the shell of Unix-like operating systems.

TheGUIwasfirstdeveloped at Xerox PARC by Alan

(11)

Kay, DouglasEngelbart,anda group of other researchers in 1981.

Later, Apple introduced

the Lisacomputer withaGUI onJanuary19, 1983.

Howdoyoupr

onounce

GUI

GUIispronouncedby sayingeachletter(G-U-I).It sometimesisalsopronounced as"gooe

y

.

"

HowdoesaGUIwor

k?

A GUI uses windows, icons, and menus to carry out commands,such as opening, deleting, and moving files. Although a GUI operating system is primarilynavigated usinga mouse,akeyboardcan also be used via keyboard shortcuts orthe arrowkeys. Asanexample,ifyouwanted to open a program on a GUI system, you would move the mouse pointer to the

program's icon and double-click it.

Whatar

et

hebenefi

t

sof

GUI

?

Unlike a command- line operating system or CUI, like Unix or MS-DOS, GUI operatingsystemsareeasierto learn and use because commandsdonotneedtobe memorized.Additionally,users do not need to know any programming languages. Becauseoftheireaseofuse andmoremodernappearance, GUIoperating systems have come to dominate today's market.

Whatar

eexampl

esofa

GUIoper

at

i

ngsyst

em?

M

i

c

(12)

r

o

s

o

f

t

W

i

n

d

o

w

s

A

p

p

l

e

 

S

y

s

t

e

m

7

 

a

n

d

 

m

a

c

O

S

C

(13)

r

o

m

e

O

S

L

i

n

u

x

 

v

a

r

i

a

n

t

s

l

i

k

e

 

U

b

u

n

t

u

 

u

s

i

n

g

a

(14)

G

U

I

i

n

t

e

r

f

a

c

e.

Areal

loper

at

i

ng

syst

emsGUI

?

No.

Earlycommandline operatingsystems

like MS-DOS andevensome

versionsof Linux todayhaveno GUIinterface.

Whatar

eexampl

esofa

GUIi

nt

er

face?

1.

G

N

O

M

E

2.

K

D

E

3. A n y M ic r o s o ft p r o g r a m, i n cl u d i n

(15)

g   W o r d,   E x c el, a n d   O u tl o o k. 4. I n t e r n e t b r o w s e r s, s u c h a I n t e r n e t E x p l o r e r, 

C h r o m e, a n d   F ir e f o x.

Howdoest

heuser

i

nt

er

actwi

t

haGUI

?

A pointingdevice, suchasthe mouse,isusedto interactwithnearlyallaspects oftheGUI.Moremodern(and

(16)

mobile)devicesalsoutilize a touchscreen.However,as statedinprevioussections,itis alsopossibletonavigateaGUI usinga keyboard.

DoesaGUI

requi

r

eamouse?

No.NearlyallGUI interfaces,includingMicrosoft Windows,haveoptionsfor navigatingtheinterfacewitha keyboardonly.

GUIWI

THTKI

NTER:

Python provides various options for developing graphicaluserinterfaces(GUIs). Most important are listed below.

Tkinter − Tkinteris the

Python interface to the Tk GUItoolkitshipped with Python.We would

lookthisoption in this chapter.

wxPython − This is an

open-source Python interface for wxWindows http://wxpyt hon.org.

JPython − JPython is a

Python port for Java which gives Python scriptsseamlessaccess toJavaclasslibrarieson the local machine http://www.jyth on.org

There are many other interfacesavailable,whichyou canfindthemonthenet.

TkinterProgramming:

Tkinteristhe standardGUIlibraryforPython. Python when combined with Tkinter provides a fast and easy way to create GUI applications.Tkinterprovidesa powerful object-oriented interfacetotheTkGUItoolkit.

(17)

CreatingaGUIapplication usingTkinterisaneasytask. Allyouneedtodoisperform thefollowingsteps

Import

the Tkinter module.

CreatetheGUI

applicationmainwindow.

Addoneormoreofthe

above-mentioned widgetstotheGUI application.

Enterthemaineventloop

totakeactionagainst eacheventtriggeredby theuser.

Example:

#!/usr/bin/python importTkinter top=Tkinter.Tk()

#Codetoaddwidgetswillgo here...

top.mainloop() TkinterWidgets:

Tkinter provides various controls, such as buttons,labelsandtextboxes used in a GUI application. Thesecontrolsarecommonly calledwidgets.

SQLI

TE3:

SQLite is a C library that provides a lightweight disk-based database that doesn’t require a separate server process and allows accessingthedatabaseusing anonstandardvariantofthe SQL query language.Some applications can use SQLite forinternaldatastorage.It’s alsopossibletoprototypean application using SQLite and thenportthecodetoalarger databasesuchasPostgreSQL orOracle.

The sqlite3 module was writtenbyGerhard Häring.It provides a SQL interface compliantwiththeDB-API2.0 specificationdescribedby PEP 249.

Modulefunctionsand constants:

sqlite3.version

Theversionnumberof thismodule,asastring. Thisisnottheversionof

(18)

theSQLitelibrary. sqlite3.version_info

Theversionnumberof thismodule,asatupleof integers.Thisisnotthe versionoftheSQLite library.

sqlite3.sqlite_version

Theversionnumberof therun-timeSQLite library,asastring. sqlite3.sqlite_version_info

Theversionnumberof therun-timeSQLite library,asatupleof integers.

sqlite3.PARSE_DECLTYPES Thisconstantismeantto be used with the detect_types paramet

er of

the connect() function. Setting it makes the sqlite3 module parse the declared type for eachcolumnitreturns.It willparse outthe first wordofthedeclaredtype, i.e.for“integerprimary key”,it willparse out

“integer”, or for “number(10)”itwillparse out“number”.Then for thatcolumn,itwilllook into the converters dictionary and use the converter function registered forthattype there.

sqlite3.PARSE_COLNAMES Thisconstantismeantto be used with the detect_types paramet

er of

the connect() function. Setting this makes the SQLiteinterfaceparsethe column name foreach columnitreturns.Itwill lookforastringformed [mytype] in there, and thendecidethat‘mytype’ isthetypeofthecolumn. Itwilltrytofindanentry of ‘mytype’ in the convertersdictionaryand then use the converter

(19)

function found there to return the value. The column name found in Cursor.description doe s not include the type,i.e.if you use something

like 'as "Expiration date [d atetime]"' in your SQL, then we willparse out everything until the first '[' for the column name and strip the preceeding space: the column name would simply be “Expiration date”.

sqlite3.connect(database[, time out, detect_types, isolation_leve l, check_

same_thread, factory, cached_s tatements, uri])

Opens a connection to the SQLite database file database.By default returns

a Connection object, unless a

custom factory isgiven.

database is a path-like object giving the path name (absolute or relative to the current workingdirectory)ofthe database file to be opened. You can use ":memory:" toopena databaseconnectiontoa databasethatresidesin RAMinsteadofondisk. When a database is accessed by multiple connections,andoneof the processes modifies thedatabase,theSQLite databaseislocked until that transaction is committed.

The timeout parameter specifies how long the connection should wait forthelocktogoaway untilraisinganexception. The default for the timeoutparameteris5.0 (fiveseconds).

(20)

sqlite3.register_converter(type name, callable)

Registers a callable to convertabytestringfrom the database into a custom Pythontype.The callable willbe invoked foralldatabase values thatareofthetype type name. Confer the parameter detect_types o f the connect() function for how the type detection works. Note that type name and the nameofthetypeinyour query are matched in case-insensitivemanner. sqlite3.register_adapter(type, c allable)

Registers a callable to convert the custom Pythontype type intoone of SQLite’s supported types. The callable callable accepts assingleparameterthe Python value,and must

return a value of the followingtypes:int,float, strorbytes.

sqlite3.complete_statement(S QL)

Returns True if the string SQL contains one ormore complete SQL statementsterminatedby semicolons.Itdoes not verify that the SQL is syntacticallycorrect,only that there are no unclosed string literals and the statement is terminated by a semicolon.

SYSTEMREQUIREMENTS:

HARDWAREREQUIREMENTS: System :

Pentium DualCore. HardDisk :

500GB.

Monitor : 15’’LED

(21)

InputDevices : Keyboard,Mouse Ram :

1GB.

SOFTWAREREQUIREMENTS: Operatingsystem :

Windows7.

CodingLanguage : Python

Framework :

DjangoFramework Tool :

pythonIDLE, Pycharm

Database : SQLITE3

CONCLUSI

ON:

ThisOnlineVoting systemwillmanagetheVoter’s

informationbywhichvoter canloginandusehisvoting rights.The

systemwillincorporateall featuresofVotingsystem.It provides`the

toolsformaintainingvoters votetoeverypartyanditcount

totalno.of

votesofeveryparty.Thereisa DATABASEwhichismaintained bythe

ELECTIONCOMMISIONOF INDIAinwhichallthenamesof voter

withcompleteinformationis stored.Inthisuserwhoisabove 18year’s

registerhis/herinformationon thedatabaseandwhenhe/she wanttovote

he/shehastologinbyhisid andpasswordandcanvoteto anypartyonly

singletime.Votingdetails

storeindatabaseandtheresult isdisplayedby

calculation.Byonlinevoting systempercentageofvotingis increases.It

isvarylesstimeconsuming.It isveryeasytodebug.

References

Related documents

For static keyframe extrac- tion, we extract low level features using uniform sampling, image histograms, SIFT and image features from Convo- lutional Neural Network (CNN) trained

In order to realize a simple and full featured book inventory management information system, Through the communication with the library staff, made an in- depth

GT-SUITE model of GL51-M Expander, IA = inlet axial port, IR= inlet radial port, OA = outlet axial port, OR = outlet radial port, Male Tip = male rotor tip clearance leakage, Female

Different from the finger tracking system based on computer vision and magnetic field, which use the fingerprint algorithm to directly locate the position of the object frame by

Less number of transistors results in the small chip area and low power consumption of the AI circuit, but the higher value of parasitic series resistance and lower value of

The physical and mechanical property of glass material is used to design the hammer blade or rotor of glass crusher.. The machine consists of hopper, a crushing chamber,

The facial recognition technology can be used in recording the attendance through a high-resolution digital camera that detects and recognizes the faces of the students

The algorithm designed takes user’s details like location, interests and job profile as input, evaluates an affinity factor based on a formula, and returns the affinity