Authors Josef Wachtler,
License CC-BY-4.0 CC-BY-SA-4.0
Python for Web Development:
A brief Introduction
Josef Wachtler
March 23, 2021
Educational Technology, Graz University of Technology
Content
Python Programming Language
Flask: A Micro Web Framework
Django Web Framework
Conclusion
1
Python Programming Language
Python Programming Language
• interpreted
• multi-paradigm programming language
• object-oriented programming
• structured programming
• ...
• dynamic typing
• garbage collection
2
Libraries
• large standard library
• database connection
• GUI toolkit
• ...
• Python Package Index
• third-party software repository
• more than 290,000 packages (www.modulecounts.com)
3
Connecting Python to Web Servers
• Web Server Gateway Interface (WSGI)
• nginx: uWSGI
• apache: mod wsgi
• ...
• Asynchronous Server Gateway Interface (ASGI)
4
Flask: A Micro Web Framework
Flask: A Micro Web Framework
• a microframework for web development initially released on
April 1, 2010
• github.com/pallets/flask
• based on
• Werkzeug: toolkit for WSGI
• Jinja: template engine
• implements nothing which is implemented by other libraries
• extensions for database connection, form validation, ...
5
Example
from flask import Flask
app = Flask ( __name__ )
@app . route ( " / " )
def index ():
return " Python for Web Development "
if __name__ == " __main__ " :
app . run ( debug = False )
6
Django Web Framework
Django Web Framework
• a framework for developing large and database-driven web
applications initially released on July 21, 2005
• www.djangoproject.com
• Model-View-Controller architectural design pattern
• includes libraries for many web-releated functionalities
7
Features
• object-relational mapper to bind python classes (models) to
database tables
• auto-generated admin interface based on the models
• template engine (views)
• explicit URL definition (controller)
• form validation
• internationalization
• caching framework
• web server for development
• ...
8
Conclusion
Conclusion
• Python is an interpreted, multi-paradigm programming
language with an extensive standard library and a huge
repository for third-party libraries
• Flask is a microframework for web development with
extensions for many web-related functionalities
• in contrast Django is a complex framework including a wide
range of these functionalities
9
Thank you! ;-)
Questions?
• DI Dr. Josef Wachtler BSc
Educational Technology, Graz University of Technology
• josef.wachtler@tugraz.at
• josefwachtler.wordpress.com
• Slides: github.com/wachjose88/slides
10
Credits
Slides created by Josef Wachtler josef.wachtler@tugraz.at and
licensed under a Creative Commons Attribution 4.0 International
(CC BY 4.0) License.
cb
The theme itself is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License and can be
downloaded at github.com/matze/mtheme. This does not affect the presentation created with the theme.
11