SlideShare a Scribd company logo
Introduction to Python & Django




       Udi h Bauman, Tikal Knowledge
Personal background

1994 -        2002 -


1997 -        2004 -


1999 -        2005 -
Also in 2004
●   Didn't listen to smart people :(
        –   Chief architect of a large innovative
             company told me to dump Java & switch
             to Python
                ●   Citing Paul Graham saying that Java is a
                     dead leaf in the evolutionary tree of
                     programming languages
2006 -                              &


●   Smiling ever since
●   “People who've made the switch to
    dynamic languages such as Python seem
    much, much happier.”
                  –   Bruce Eckel, Author of “Thinking in Java” &
                        “Thinking in Python”
Python, WTF?
●   Isn't this some scripting language for
    system administrators & the like?


                    What does it have to do with us –
                    serious Java & .Net programmers???
Python, WTF?
●   Python is a modern programming
    language.
       –   Pure OOP (Object Oriented Programming)
       –   Pure AOP (Aspect Oriented Programming)
       –   Pure FP (Functional Programming)
Python, WTF?
●   Some companies & organization attract the
    best programmers in the world
●   E.g.
Python, WTF?
●   Turns out that the programming language
    of choice in most of these places is Python
●   E.g.
Quotes
●   “Python has been an important part of
    Google since the beginning, and remains
    so as the system grows and evolves”
       –   Peter Norvig, Director of Research, Google
Quotes
●   “Python is fast enough for our site and
    allows us to produce maintainable features
    in record times, with a minimum of
    developers”
       –   Cuong Do, Engineering Manager, YouTube
            (Watch the video: http://bit.ly/youtube_scalability)
The reason, IMHO
●   Python offers the optimal combination of
    Power & Simplicity
       –   perfect for coding Business Logic
       –   perfect for any software at any size &
            complexity
Python demo
●   Arithmetic's &       ●   Functions
    Strings              ●   Doctest
●   Introspection        ●   Classes
●   Formatting           ●   List comprehension
●   Lists, Tuples &      ●   I/O
    Dictionaries
●   Blocks, If & loops
Demo screenshots
Demo screenshots
Python libraries
●   Real wealth of libraries
●   The Python Package Index (PyPi) lists
    7.7K
●   Cover almost any functionality & need
●   Very easy to install
●   Very intuitive
        –   Work just as you expect them to work
Python summary
●   Python has many advantages, but the
    bottom line is:
       –   Happy management
       –   Happy staff
       –   Happy customers


               ●   Don't take my word – Google what people
                    say about their experience with Python &
                    tell me if you find any counter-example
Python summary
●   What's in it for us?
        –   Need implement a new complex system or
             service?
        –   Prototype it in Python
        –   Then realize that it's ready for usage
Introduction to Django
●   Leading Python Web Framework
●   Good for any service, no just Web apps
Django slogan
●   The Web framework for Perfectionists
    with deadlines
Perfectionists?
●   Emphasizing clean MVC design
●   Django apps are reusable by design
●   Based on Best-Practices
●   Extremely easy to unit-test
Deadlines?
●   Growned in the Online Newspapers
    industry
       –   Designed to make development fast
               ●   E.g., automatic admin interface
●   Automates repetitive tasks
●   Leading technology in new US Startups,
    according to recent polls
Quotes
●   “After an extensive trade study, we selected
    Django as the first and primary application
    environment for the Nebula Cloud. ”
                  –   NASA,
                       http://nebula.nasa.gov/services/framework
Model & basis of
Main features
●   ORM               ●   Reusable apps
●   Admin             ●   Unit testing
●   URL's design      ●   Middleware
●   Auth              ●   Caching
●   Template engine   ●   I18N
●   Integrated GIS
Comparison with Java stacks
Lots of reusable apps
●   Hundreds of pluggable apps exist, for
    almost any purpose
●   Very easy to plug into your project
        –   Adds complete functionality, integrated with
             your application
How do you develop/run?
●   I use the Eclipse-based Aptana IDE
●   I run Django on LAMP (Linux, Apache,
    MySQL/Postgres, Python) or AppEngine
       –   You can also deploy Django as .war on any
            Java Application Server
Django demo
●   Let's write a small Django app for project
    management
        –   Manage projects & tasks
        –   Manage users & roles
        –   Rich UI (search, filters, recent actions list)
        –   Project health indicators
        –   Tasks focus chart
Demo screenshots
Demo screenshots
Demo screenshots
Demo screenshots
Java/.Net vs. Django
●   Think how much code it would take in Java
    or .Net
       –   Common
       –   BI
       –   DAL
       –   Basic
       –   Logic
       –   API
Java/.Net vs. Django
●   Damn, Django does the same thing without
    all the complexity & verbosity
●   How much time & cognitive effort it takes to
    learn, understand & modify it?
Django summary
●   What's in it for us?
        –   Nothing
                ●   you can afford developing systems using
                     10 developers for several weeks
                ●   instead of 1-2 developers for several
                      days :)
Django summary
●   Seriously:
        –   Need implement a new system?
        –   Prototype it in Django in a few hours
        –   Then realize that it's ready for production

More Related Content

What's hot (20)

KEY
Web and Native in 2012
jhugman
 
PPTX
Machine Learning on Your Hand - Introduction to Tensorflow Lite Preview
Modulabs
 
PDF
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
Szczepan Faber
 
PDF
平行化你的工作 part1
Shuen-Huei Guan
 
PDF
Android smarter with TensorFlow
rendra toro
 
PDF
GoLang Introduction
Spandana Govindgari
 
PDF
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
Evan Lin
 
PDF
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
Evan Lin
 
PDF
Golang taipei #45 10th birthday
Evan Lin
 
PDF
Microservices, the lean way
Bruno Bossola
 
PDF
Improving the developer experience on OpenShift - devconf-india-18
Jorge Morales
 
PPTX
Introduction to GoLang
NVISIA
 
PDF
Nightmapper's presentation
Badoo
 
PDF
Going to library with angular
Knoldus Inc.
 
PDF
VN Tech Seminor Vol.3 Hubot Tutorial
Shuhei Yamashita
 
PDF
Beyond QA
gilforcada
 
PDF
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
Evan Lin
 
PDF
Code analysis for a better future
gilforcada
 
Web and Native in 2012
jhugman
 
Machine Learning on Your Hand - Introduction to Tensorflow Lite Preview
Modulabs
 
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
Szczepan Faber
 
平行化你的工作 part1
Shuen-Huei Guan
 
Android smarter with TensorFlow
rendra toro
 
GoLang Introduction
Spandana Govindgari
 
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
Evan Lin
 
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
Evan Lin
 
Golang taipei #45 10th birthday
Evan Lin
 
Microservices, the lean way
Bruno Bossola
 
Improving the developer experience on OpenShift - devconf-india-18
Jorge Morales
 
Introduction to GoLang
NVISIA
 
Nightmapper's presentation
Badoo
 
Going to library with angular
Knoldus Inc.
 
VN Tech Seminor Vol.3 Hubot Tutorial
Shuhei Yamashita
 
Beyond QA
gilforcada
 
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
Evan Lin
 
Code analysis for a better future
gilforcada
 

Similar to Python Django Intro V0.1 (20)

PDF
Django Article V0
Udi Bauman
 
PDF
Django Tutorial_ Let’s take a deep dive into Django’s web framework.pdf
SudhanshiBakre1
 
PDF
A complete guide to Python app development.pdf
MoonTechnolabsPvtLtd
 
PDF
Why Django
Idan Gazit
 
PPTX
Python Django Basics
RahilMemon5
 
PPT
Django Python(2)
tomcoh
 
PDF
Ways To Become A Good Python Developer
CodeMonk
 
PPTX
Python programming
Megha V
 
PDF
Introduction to Django Course For Newbie - Advance
yusufvabdullah001
 
PDF
Python quick guide1
Kanchilug
 
PDF
Python & Django
Allan114858
 
PDF
Introducing Django
zerok
 
KEY
Ladypy 01
Calvin Cheng
 
PDF
0506-django-web-framework-for-python.pdf
radhianiedjan1
 
KEY
WTF is Python
sneeu
 
PDF
Why Django is The Go-To Framework For Python.pdf
Mindfire LLC
 
KEY
PHP to Python with No Regrets
Alex Ezell
 
PDF
Django Javascript Integration Ajax And Jquery Jonathan Hayward
mahaypruce3g
 
PPTX
python full stack course in madhapur, hyderabad
neeraja0480
 
PDF
PyData Texas 2015 Keynote
Peter Wang
 
Django Article V0
Udi Bauman
 
Django Tutorial_ Let’s take a deep dive into Django’s web framework.pdf
SudhanshiBakre1
 
A complete guide to Python app development.pdf
MoonTechnolabsPvtLtd
 
Why Django
Idan Gazit
 
Python Django Basics
RahilMemon5
 
Django Python(2)
tomcoh
 
Ways To Become A Good Python Developer
CodeMonk
 
Python programming
Megha V
 
Introduction to Django Course For Newbie - Advance
yusufvabdullah001
 
Python quick guide1
Kanchilug
 
Python & Django
Allan114858
 
Introducing Django
zerok
 
Ladypy 01
Calvin Cheng
 
0506-django-web-framework-for-python.pdf
radhianiedjan1
 
WTF is Python
sneeu
 
Why Django is The Go-To Framework For Python.pdf
Mindfire LLC
 
PHP to Python with No Regrets
Alex Ezell
 
Django Javascript Integration Ajax And Jquery Jonathan Hayward
mahaypruce3g
 
python full stack course in madhapur, hyderabad
neeraja0480
 
PyData Texas 2015 Keynote
Peter Wang
 
Ad

More from Udi Bauman (11)

KEY
13
Udi Bauman
 
PDF
Intro to-django-for-media-companies
Udi Bauman
 
PDF
Django course final-project
Udi Bauman
 
PDF
Django course final-project
Udi Bauman
 
PDF
Django course summary
Udi Bauman
 
ODP
Nonrelational Databases
Udi Bauman
 
PDF
Ship Early Ship Often With Django
Udi Bauman
 
ODP
Large Scale Processing with Django
Udi Bauman
 
PDF
Django And Ajax
Udi Bauman
 
ODP
Udi Google Dev Day
Udi Bauman
 
KEY
Intro To Django
Udi Bauman
 
Intro to-django-for-media-companies
Udi Bauman
 
Django course final-project
Udi Bauman
 
Django course final-project
Udi Bauman
 
Django course summary
Udi Bauman
 
Nonrelational Databases
Udi Bauman
 
Ship Early Ship Often With Django
Udi Bauman
 
Large Scale Processing with Django
Udi Bauman
 
Django And Ajax
Udi Bauman
 
Udi Google Dev Day
Udi Bauman
 
Intro To Django
Udi Bauman
 
Ad

Recently uploaded (20)

PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Python basic programing language for automation
DanialHabibi2
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 

Python Django Intro V0.1

  • 1. Introduction to Python & Django Udi h Bauman, Tikal Knowledge
  • 2. Personal background 1994 - 2002 - 1997 - 2004 - 1999 - 2005 -
  • 3. Also in 2004 ● Didn't listen to smart people :( – Chief architect of a large innovative company told me to dump Java & switch to Python ● Citing Paul Graham saying that Java is a dead leaf in the evolutionary tree of programming languages
  • 4. 2006 - & ● Smiling ever since ● “People who've made the switch to dynamic languages such as Python seem much, much happier.” – Bruce Eckel, Author of “Thinking in Java” & “Thinking in Python”
  • 5. Python, WTF? ● Isn't this some scripting language for system administrators & the like? What does it have to do with us – serious Java & .Net programmers???
  • 6. Python, WTF? ● Python is a modern programming language. – Pure OOP (Object Oriented Programming) – Pure AOP (Aspect Oriented Programming) – Pure FP (Functional Programming)
  • 7. Python, WTF? ● Some companies & organization attract the best programmers in the world ● E.g.
  • 8. Python, WTF? ● Turns out that the programming language of choice in most of these places is Python ● E.g.
  • 9. Quotes ● “Python has been an important part of Google since the beginning, and remains so as the system grows and evolves” – Peter Norvig, Director of Research, Google
  • 10. Quotes ● “Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers” – Cuong Do, Engineering Manager, YouTube (Watch the video: http://bit.ly/youtube_scalability)
  • 11. The reason, IMHO ● Python offers the optimal combination of Power & Simplicity – perfect for coding Business Logic – perfect for any software at any size & complexity
  • 12. Python demo ● Arithmetic's & ● Functions Strings ● Doctest ● Introspection ● Classes ● Formatting ● List comprehension ● Lists, Tuples & ● I/O Dictionaries ● Blocks, If & loops
  • 15. Python libraries ● Real wealth of libraries ● The Python Package Index (PyPi) lists 7.7K ● Cover almost any functionality & need ● Very easy to install ● Very intuitive – Work just as you expect them to work
  • 16. Python summary ● Python has many advantages, but the bottom line is: – Happy management – Happy staff – Happy customers ● Don't take my word – Google what people say about their experience with Python & tell me if you find any counter-example
  • 17. Python summary ● What's in it for us? – Need implement a new complex system or service? – Prototype it in Python – Then realize that it's ready for usage
  • 18. Introduction to Django ● Leading Python Web Framework ● Good for any service, no just Web apps
  • 19. Django slogan ● The Web framework for Perfectionists with deadlines
  • 20. Perfectionists? ● Emphasizing clean MVC design ● Django apps are reusable by design ● Based on Best-Practices ● Extremely easy to unit-test
  • 21. Deadlines? ● Growned in the Online Newspapers industry – Designed to make development fast ● E.g., automatic admin interface ● Automates repetitive tasks ● Leading technology in new US Startups, according to recent polls
  • 22. Quotes ● “After an extensive trade study, we selected Django as the first and primary application environment for the Nebula Cloud. ” – NASA, http://nebula.nasa.gov/services/framework
  • 24. Main features ● ORM ● Reusable apps ● Admin ● Unit testing ● URL's design ● Middleware ● Auth ● Caching ● Template engine ● I18N ● Integrated GIS
  • 26. Lots of reusable apps ● Hundreds of pluggable apps exist, for almost any purpose ● Very easy to plug into your project – Adds complete functionality, integrated with your application
  • 27. How do you develop/run? ● I use the Eclipse-based Aptana IDE ● I run Django on LAMP (Linux, Apache, MySQL/Postgres, Python) or AppEngine – You can also deploy Django as .war on any Java Application Server
  • 28. Django demo ● Let's write a small Django app for project management – Manage projects & tasks – Manage users & roles – Rich UI (search, filters, recent actions list) – Project health indicators – Tasks focus chart
  • 33. Java/.Net vs. Django ● Think how much code it would take in Java or .Net – Common – BI – DAL – Basic – Logic – API
  • 34. Java/.Net vs. Django ● Damn, Django does the same thing without all the complexity & verbosity ● How much time & cognitive effort it takes to learn, understand & modify it?
  • 35. Django summary ● What's in it for us? – Nothing ● you can afford developing systems using 10 developers for several weeks ● instead of 1-2 developers for several days :)
  • 36. Django summary ● Seriously: – Need implement a new system? – Prototype it in Django in a few hours – Then realize that it's ready for production