SlideShare une entreprise Scribd logo
1  sur  17
Python Web Frameworks
Kat Chuang
@katychuang
Talk given at NYC Python Meetup - 7/9/2013 1
About me
• Recent PhD Graduate
• Experience with
python:
– Mainly for research
– Web development the
last year in Python
• Freelanced quite a bit
with web development.
– I often worked with non
technical people.
Talk Given at NYC Python Meetup 7/9/2013 2
http://meetup.com/NYC-Pyladies
Btw, there’s a group for lady pythonistas…
Talk Given at NYC Python Meetup 7/9/2013 3
Outline
• Why I’m giving this talk
• Server-Client Architecture
• The User Interface (UI)
• The Wireframe as a boundary object
– Boundary objects are used for communicating
between two distinct groups.
• DRY Principle: “Don’t repeat yourself”
Talk Given at NYC Python Meetup 7/9/2013 4
Why I’m giving this talk
• There’s a lot of people who want a website
– A lot of these people don’t know how to build
websites
A. Some of these people want to learn
B. Some of these people don’t
• This talk is for developers who work for
those without technical knowledge.
Talk Given at NYC Python Meetup 7/9/2013 5
Types of People in Web Development
A. Wants
to learn
B. Do not
want to
learn
Web
developers
Different ways of communicatingTalk Given at NYC Python Meetup 7/9/2013 6
Server-Client Architecture
<Web framework goes here: python>
<User Interface: html/css/javascript>
<Database Queries>
Talk Given at NYC Python Meetup 7/9/2013 7
Navigation Paths
This could be a lot of
html pages.
a.html
b.html
c.html
d.html
e.html
f.html
g.html
h.html
….
Talk Given at NYC Python Meetup 7/9/2013 8
Wireframes
Talk Given at NYC Python Meetup 7/9/2013 9
Spatial Representation
Talk Given at NYC Python Meetup 7/9/2013 10
Document Object Model
This is what the
computer
understands.
Talk Given at NYC Python Meetup 7/9/2013 11
Example: Pydata.Org
Interaction with client: I was given this one
image file. My task was to convert it to
templates, and give the final website at
pydata.org.
Interaction with python: I specified styling and
template tags for each page.
About PyData:
PyData is a community for developers and users
of Python data tools. You can join at pydata.org
Talk Given at NYC Python Meetup 7/9/2013 12
I’ll show you how I
created this part
It is a list of news items that
come from the database.
http://pydata.org
Talk Given at NYC Python Meetup 7/9/2013 13
{% for item in news %}
<div class="news_item">
<b>
<a href="/{{ item.conference }}/news#{{ item.id
}}">
[{{ item.conference }}] {{ item.title }}</a></b>
<div class="pub_date”>
{{ item.date|date:'M d, Y' }}
</div>
{{ item.content|striptags|truncatechars:180 }}
</div>
{% endfor %}
Template Tags
Talk Given at NYC Python Meetup 7/9/2013 14
Template system is a nested hierarchy
Page
Head
Stylesheets
Fonts
Header
Container
Banners
News Section
News Item
News Item
…
Footer
Javascripts Analytics
Talk Given at NYC Python Meetup 7/9/2013 15
Demo
Django note: you can run a local development version:
$ python manage.py runserver
Then view the site in your browser at http://localhost:8000
Talk Given at NYC Python Meetup 7/9/2013 16
THANK YOU.
Kat Chuang, Ph.D.
Contact: @katychuang on twitter | katychuang@gmail.com
Talk Given at NYC Python Meetup 7/9/2013 17

Contenu connexe

Tendances

The Metro Developer User Group: July 2012 Meetup
The Metro Developer User Group: July 2012 MeetupThe Metro Developer User Group: July 2012 Meetup
The Metro Developer User Group: July 2012 Meetup
Sam Basu
 
(WS11) Saša Matijašić (LogIT internet usluge): Quo Vadis, Browser?*
(WS11) Saša Matijašić (LogIT internet usluge): Quo Vadis, Browser?*(WS11) Saša Matijašić (LogIT internet usluge): Quo Vadis, Browser?*
(WS11) Saša Matijašić (LogIT internet usluge): Quo Vadis, Browser?*
Web::Strategija
 

Tendances (10)

Protostrap
ProtostrapProtostrap
Protostrap
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Chrome Extensions Slides Gtugna Kick Off Meeti
Chrome Extensions Slides Gtugna Kick Off MeetiChrome Extensions Slides Gtugna Kick Off Meeti
Chrome Extensions Slides Gtugna Kick Off Meeti
 
The Metro Developer User Group: July 2012 Meetup
The Metro Developer User Group: July 2012 MeetupThe Metro Developer User Group: July 2012 Meetup
The Metro Developer User Group: July 2012 Meetup
 
BYOWHC823
BYOWHC823BYOWHC823
BYOWHC823
 
Drupal 8 update: April 2014. Introduction. Modules.
Drupal 8 update: April 2014. Introduction. Modules.Drupal 8 update: April 2014. Introduction. Modules.
Drupal 8 update: April 2014. Introduction. Modules.
 
Frontend Crash Course
Frontend Crash CourseFrontend Crash Course
Frontend Crash Course
 
(WS11) Saša Matijašić (LogIT internet usluge): Quo Vadis, Browser?*
(WS11) Saša Matijašić (LogIT internet usluge): Quo Vadis, Browser?*(WS11) Saša Matijašić (LogIT internet usluge): Quo Vadis, Browser?*
(WS11) Saša Matijašić (LogIT internet usluge): Quo Vadis, Browser?*
 
Introduction to bootstrap
Introduction to bootstrapIntroduction to bootstrap
Introduction to bootstrap
 
Building a Moodle theme with bootstrap
Building a Moodle theme with bootstrapBuilding a Moodle theme with bootstrap
Building a Moodle theme with bootstrap
 

En vedette

Dissertation defense
Dissertation defenseDissertation defense
Dissertation defense
Kat Chuang
 

En vedette (18)

Dissertation defense
Dissertation defenseDissertation defense
Dissertation defense
 
NYC Pyladies talk May 2, 2013
NYC Pyladies talk May 2, 2013NYC Pyladies talk May 2, 2013
NYC Pyladies talk May 2, 2013
 
Comparison of supportive interactions
Comparison of supportive interactionsComparison of supportive interactions
Comparison of supportive interactions
 
Insight DE project
Insight DE projectInsight DE project
Insight DE project
 
Introduction to Python and Web Programming
Introduction to Python and Web ProgrammingIntroduction to Python and Web Programming
Introduction to Python and Web Programming
 
Snakes on the Web
Snakes on the WebSnakes on the Web
Snakes on the Web
 
Python and the Web
Python and the WebPython and the Web
Python and the Web
 
Why Python Web Frameworks Are Changing the Web
Why Python Web Frameworks Are Changing the WebWhy Python Web Frameworks Are Changing the Web
Why Python Web Frameworks Are Changing the Web
 
Спецификация WSGI (PEP-333)
Спецификация WSGI (PEP-333)Спецификация WSGI (PEP-333)
Спецификация WSGI (PEP-333)
 
An Introduction to Twisted
An Introduction to TwistedAn Introduction to Twisted
An Introduction to Twisted
 
Зоопарк python веб-фреймворков
Зоопарк python веб-фреймворковЗоопарк python веб-фреймворков
Зоопарк python веб-фреймворков
 
Чем Python плох для стартапа?
Чем Python плох для стартапа?Чем Python плох для стартапа?
Чем Python плох для стартапа?
 
Asynchronous Python with Twisted
Asynchronous Python with TwistedAsynchronous Python with Twisted
Asynchronous Python with Twisted
 
Framework Battle: Django vs Flask vs Chalice
Framework Battle: Django vs Flask vs ChaliceFramework Battle: Django vs Flask vs Chalice
Framework Battle: Django vs Flask vs Chalice
 
LvivPy - Flask in details
LvivPy - Flask in detailsLvivPy - Flask in details
LvivPy - Flask in details
 
Async Web Frameworks in Python
Async Web Frameworks in PythonAsync Web Frameworks in Python
Async Web Frameworks in Python
 
Web Scraping with Python
Web Scraping with PythonWeb Scraping with Python
Web Scraping with Python
 
Scraping the web with python
Scraping the web with pythonScraping the web with python
Scraping the web with python
 

Similaire à Python talk web frameworks

SIC Finale Status Report August 6.pptx
SIC Finale Status Report August 6.pptxSIC Finale Status Report August 6.pptx
SIC Finale Status Report August 6.pptx
Shaista Ansari
 

Similaire à Python talk web frameworks (20)

C4ainaction-Introduction to the Pyramid Web Framework
C4ainaction-Introduction to the Pyramid Web FrameworkC4ainaction-Introduction to the Pyramid Web Framework
C4ainaction-Introduction to the Pyramid Web Framework
 
Samsung SDS OpeniT - The possibility of Python
Samsung SDS OpeniT - The possibility of PythonSamsung SDS OpeniT - The possibility of Python
Samsung SDS OpeniT - The possibility of Python
 
Python and Jupyter: Your Gateway for Learning
Python and Jupyter: Your Gateway for LearningPython and Jupyter: Your Gateway for Learning
Python and Jupyter: Your Gateway for Learning
 
Accessibility, Automation and Metadata
Accessibility, Automation and MetadataAccessibility, Automation and Metadata
Accessibility, Automation and Metadata
 
Django
DjangoDjango
Django
 
Building Data Apps with Python
Building Data Apps with PythonBuilding Data Apps with Python
Building Data Apps with Python
 
Prototyping Workshop - Wireframes, Mockups, Prototypes
Prototyping Workshop - Wireframes, Mockups, PrototypesPrototyping Workshop - Wireframes, Mockups, Prototypes
Prototyping Workshop - Wireframes, Mockups, Prototypes
 
Jupyter: A Gateway for Scientific Collaboration and Education
Jupyter: A Gateway for Scientific Collaboration and EducationJupyter: A Gateway for Scientific Collaboration and Education
Jupyter: A Gateway for Scientific Collaboration and Education
 
Django Framework Overview forNon-Python Developers
Django Framework Overview forNon-Python DevelopersDjango Framework Overview forNon-Python Developers
Django Framework Overview forNon-Python Developers
 
Behold the Power of Python
Behold the Power of PythonBehold the Power of Python
Behold the Power of Python
 
2017 Q2 uPortal Open Source Support Briefing
2017 Q2 uPortal Open Source Support Briefing2017 Q2 uPortal Open Source Support Briefing
2017 Q2 uPortal Open Source Support Briefing
 
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
 
SIC Finale Status Report August 6.pptx
SIC Finale Status Report August 6.pptxSIC Finale Status Report August 6.pptx
SIC Finale Status Report August 6.pptx
 
Kelly O'Briant - DataOps in the Cloud: How To Supercharge Data Science with a...
Kelly O'Briant - DataOps in the Cloud: How To Supercharge Data Science with a...Kelly O'Briant - DataOps in the Cloud: How To Supercharge Data Science with a...
Kelly O'Briant - DataOps in the Cloud: How To Supercharge Data Science with a...
 
Akash rajguru project report sem v
Akash rajguru project report sem vAkash rajguru project report sem v
Akash rajguru project report sem v
 
Django
DjangoDjango
Django
 
Publishing strategies for API documentation
Publishing strategies for API documentationPublishing strategies for API documentation
Publishing strategies for API documentation
 
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Ready. Set. Drupal! An Intro to Drupal 8, Part 2Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
 
Webinar: An introduction to Open Science: Why it’s important.
Webinar: An introduction to Open Science: Why it’s important.Webinar: An introduction to Open Science: Why it’s important.
Webinar: An introduction to Open Science: Why it’s important.
 
Company Visitor Management System Report.docx
Company Visitor Management System Report.docxCompany Visitor Management System Report.docx
Company Visitor Management System Report.docx
 

Plus de Kat Chuang

Nurturant Support in Online Health Social Networking
Nurturant Support in Online Health Social NetworkingNurturant Support in Online Health Social Networking
Nurturant Support in Online Health Social Networking
Kat Chuang
 
Candidacy Exam
Candidacy ExamCandidacy Exam
Candidacy Exam
Kat Chuang
 
How to become a top notch scholar
How to become a top notch scholarHow to become a top notch scholar
How to become a top notch scholar
Kat Chuang
 

Plus de Kat Chuang (10)

Android NFC Nuance
Android NFC NuanceAndroid NFC Nuance
Android NFC Nuance
 
rheumatological diseases
rheumatological diseasesrheumatological diseases
rheumatological diseases
 
Mayans and Chocolate
Mayans and ChocolateMayans and Chocolate
Mayans and Chocolate
 
Nurturant Support in Online Health Social Networking
Nurturant Support in Online Health Social NetworkingNurturant Support in Online Health Social Networking
Nurturant Support in Online Health Social Networking
 
Revolutionizing the hypatia metadata experience
Revolutionizing the hypatia metadata experienceRevolutionizing the hypatia metadata experience
Revolutionizing the hypatia metadata experience
 
Candidacy Exam
Candidacy ExamCandidacy Exam
Candidacy Exam
 
How to become a top notch scholar
How to become a top notch scholarHow to become a top notch scholar
How to become a top notch scholar
 
Prospectus
Prospectus Prospectus
Prospectus
 
Helping you to help me (slides)
Helping you to help me (slides)Helping you to help me (slides)
Helping you to help me (slides)
 
Helping you to help me
Helping you to help meHelping you to help me
Helping you to help me
 

Dernier

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Dernier (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Python talk web frameworks

  • 1. Python Web Frameworks Kat Chuang @katychuang Talk given at NYC Python Meetup - 7/9/2013 1
  • 2. About me • Recent PhD Graduate • Experience with python: – Mainly for research – Web development the last year in Python • Freelanced quite a bit with web development. – I often worked with non technical people. Talk Given at NYC Python Meetup 7/9/2013 2
  • 3. http://meetup.com/NYC-Pyladies Btw, there’s a group for lady pythonistas… Talk Given at NYC Python Meetup 7/9/2013 3
  • 4. Outline • Why I’m giving this talk • Server-Client Architecture • The User Interface (UI) • The Wireframe as a boundary object – Boundary objects are used for communicating between two distinct groups. • DRY Principle: “Don’t repeat yourself” Talk Given at NYC Python Meetup 7/9/2013 4
  • 5. Why I’m giving this talk • There’s a lot of people who want a website – A lot of these people don’t know how to build websites A. Some of these people want to learn B. Some of these people don’t • This talk is for developers who work for those without technical knowledge. Talk Given at NYC Python Meetup 7/9/2013 5
  • 6. Types of People in Web Development A. Wants to learn B. Do not want to learn Web developers Different ways of communicatingTalk Given at NYC Python Meetup 7/9/2013 6
  • 7. Server-Client Architecture <Web framework goes here: python> <User Interface: html/css/javascript> <Database Queries> Talk Given at NYC Python Meetup 7/9/2013 7
  • 8. Navigation Paths This could be a lot of html pages. a.html b.html c.html d.html e.html f.html g.html h.html …. Talk Given at NYC Python Meetup 7/9/2013 8
  • 9. Wireframes Talk Given at NYC Python Meetup 7/9/2013 9
  • 10. Spatial Representation Talk Given at NYC Python Meetup 7/9/2013 10
  • 11. Document Object Model This is what the computer understands. Talk Given at NYC Python Meetup 7/9/2013 11
  • 12. Example: Pydata.Org Interaction with client: I was given this one image file. My task was to convert it to templates, and give the final website at pydata.org. Interaction with python: I specified styling and template tags for each page. About PyData: PyData is a community for developers and users of Python data tools. You can join at pydata.org Talk Given at NYC Python Meetup 7/9/2013 12
  • 13. I’ll show you how I created this part It is a list of news items that come from the database. http://pydata.org Talk Given at NYC Python Meetup 7/9/2013 13
  • 14. {% for item in news %} <div class="news_item"> <b> <a href="/{{ item.conference }}/news#{{ item.id }}"> [{{ item.conference }}] {{ item.title }}</a></b> <div class="pub_date”> {{ item.date|date:'M d, Y' }} </div> {{ item.content|striptags|truncatechars:180 }} </div> {% endfor %} Template Tags Talk Given at NYC Python Meetup 7/9/2013 14
  • 15. Template system is a nested hierarchy Page Head Stylesheets Fonts Header Container Banners News Section News Item News Item … Footer Javascripts Analytics Talk Given at NYC Python Meetup 7/9/2013 15
  • 16. Demo Django note: you can run a local development version: $ python manage.py runserver Then view the site in your browser at http://localhost:8000 Talk Given at NYC Python Meetup 7/9/2013 16
  • 17. THANK YOU. Kat Chuang, Ph.D. Contact: @katychuang on twitter | katychuang@gmail.com Talk Given at NYC Python Meetup 7/9/2013 17