Presenters:Azhar Sikander, Ifi Okoye, Eric Lundby, Jonathan WatsonDjango(A web development framework for Python)Outline…. Introduction to Django Django as MVC Design Pattern Django Architecture Django ModulesWhy Django for Web DevelopmentWhy Django for Web Development Steps to create New Project What Django generates Sample ApplicationIntroduction – What is Django? Django is pronounced JANG-oh. The “D” is silent. “Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design.” The web framework for perfectionists with deadlines.The web framework for perfectionists with deadlines. Primary Focus Dynamic and database driven websites Content based websites Example Websites (Washingtonpost,eBay, craigslist) Google AppEngineIntroduction…(Cont.) History Named after famous Guitarist “Django Reinhardt” Developed by Adrian Holovaty and Jacob Kaplan-moss atWorld Online News for efficient development Open sourced in 2005First Version released September 3, 2008First Version released September 3, 2008Django as an MVC Design Pattern MVT Architecture: Models Describes your data structure/database schema ViewsControls whata user seesControls whata user sees Templates How a user sees it Controller The Django Framework URL parsingDjango Modules Administration interface (CRUD interface) Authentication system Comments system Forms handlingSessionsSessions Syndication framework (RSS and Atom Feeds) Caching Internationalization Localization Custom MiddlewareDjango ArchitectureWhy Django for Web Development Lets you divide code modules into logical groups to make it flexible to change MVC design pattern (MVT) Provides auto generated web admin to ease the website administration Provides pre-packaged API for common user tasksProvides you template system to define HTML template for Provides you template system to define HTML template for your web pages to avoid code duplication DRY Principle Allows you to define what URL be for a given Function Loosely Coupled Principle Allows you to separate business logic from the HTML Separation of concerns Everything is in python (schema/settings)Steps to create New Project Create a project Start an application Create the database (MySQL, Postgresql, SQLite) Define DB Settings in Settings.py Define your models Add pluggable modules Write your templates Define your views Create URL mapping Test Application Deploy Application (Linux, Apache, mod_Python, DB)What Django generates… MySite/ __init__.py Manage.py // Script to interact with Django Settings.py // Config URLs.py$ // My Site URL mappingMyProject/MyProject/ __init__.py URLs.py // Project specific URL mapping Models.py // Data Models Views.py // Contains the call back functions Admin.py TemplatesShow Sample ApplicationQuestions?(Questions are guaranteed in life; Answers aren’t.) For more information (Documentation, Download and News) http://www.djangoproject.com/http://www.djangoproject.com/ A Good book to learn Django http://www.djangobook.com/en/1.0/ The best place to start http://docs.djangoproject.com/en/dev/ A lot of Django Pluggables available online Explore at
View Full Document