Accelerating Information Technology Innovation

Size: px
Start display at page:

Download "Accelerating Information Technology Innovation"

Transcription

1 Accelerating Information Technology Innovation Philippines Summer 2012 Lecture 3 Rapid Application Development with Python June 26, 2012

2 Agenda Introduction to MVC and Django Django Models Django Views Django Templates 2

3 The Big Picture Google App Engine / Heroku / Your own Webserver Mobile Web Browser/ Mobile Web App/ Desktop Browser Your Django app

4 What is a Web Application Framework? A framework (a.k.a. code libraries) that provides functionality for common components in a website, web app, or web service. Eases coding for Working with forms Handling HTTP requests Templates for common HTML layouts URL mapping Database communication Session management Site security Allows you to focus on design and functionality rather than small details.

5 Mini Quiz How does a web server work? What is the most popular web server? What is the most popular mobile web browser? What is the W3C? What do they do? What is the IETF? What do they do? 5

6 Mini Quiz Answers Via HTTP protocol Apache Android Robot World Wide Web Consortium: They develop standards for the web Internet Engineering Task Force: They develop standards for the Internet 6

7 Web Application Frameworks 7

8 Python Web Application Frameworks for Backend

9 Model-View-Controller (MVC) A paradigm for organizing code often seen in web app frameworks Main idea is: Separate the storage and manipulation of data (the model) and the presentation of data (view) Use the Controller to communicate between the model and view Advantages Easier to develop and test model and view independently Easier for others to understand

10 Model-View-Controller (MVC) (news site example) Controller Send request for a story Asks the model for the story and its user comments View Layout of stories on mobile phone or desktop browser Serves requested story Model News stories and images in a database User comments

11 Django Web application framework, written in Python Released 2005 Began with World Online, that needed to rapidly develop applications for news sites. Named after gypsy jazz guitarist Django Reinhardt ( ) Follows the Model-View- Controller paradigm

12 Model-View-Controller (MVC) (news site example with Django) Controller View Send request for a story Asks the model for the story and its user comments Template View Layout of stories on mobile phone or desktop browser Serves requested story Model News stories and images in a database User comments Model

13 Django Models 13

14 What is a model? A class describing data in your application with attributes for each data field that you care about The schema for your data 14

15 Why use Django models? Avoid direct work with the database No need to handle database connections, timeouts, etc. Let Django do it for you. 15

16 Django Fields All you do is define a field type () models.booleanfield Ex: active = Django handles the rest: Bit value in sql database Represented as a checkbox on a webpage Validation of values 16

17 Before Models: from django.shortcuts import render_to_response import MySQLdb def book_list(request): db = MySQLdb.connect(user='me', db='mydb', (' host='localhost passwd='secret', () db.cursor cursor = (' name cursor.execute('select name FROM books ORDER BY names = [row[0] for row in cursor.fetchall()] () db.close ({ names return render_to_response('book_list.html', {'names':

18 After Models: from django.shortcuts import render_to_response from mysite.books.models import Book def book_list(request): (' Book.objects.order_by('name books = ({ books return render_to_response('book_list.html', {'books':

19 Django Model Syntax class Musician(models.Model): first_name = models.charfield(max_length=50) last_name = models.charfield(max_length=50) ( models.charfield(max_length=100 instrument = def unicode (): return last_name+, +first_name class Album(models.Model): name = models.charfield(max_length=100) release_date = models.datefield() () models.integerfield num_stars = artist = models.foreignkey(musician) def unicode (): return name 19

20 Field Options blank: if True, field is allowed to be blank. default is False. null: if True, empty fields will be stored as NULL in database. choices: list of 2-tuples, will create a select box instead of CharField class Foo(models.Model): GENDER_CHOICES = ( ('M', 'Male'), ('F', 'Female'), ( NS, Not specified ) ) gender = models.charfield(max_length=2, choices=gender_choices) 20

21 Field Options default: default value for a field primary_key: if True, this field is the primary key for the model unique: if True, this will have to be unique throughout the table verbose_field_name: provides a human readable file name 21

22 Django Relationship Fields ForeignKey ( foreign class ) Many-to-one ManyToManyField (foreign class) Uses a temporary table to join tables together OneToOneField ( foreign class ) Enforces uniqueness, i.e. foreign key with unique=true 22

23 Django Model Syntax class Musician(models.Model): first_name = models.charfield(max_length=50) last_name = models.charfield(max_length=50) ( models.charfield(max_length=100 instrument = def unicode (): return last_name+, +first_name class Album(models.Model): artist = models.foreignkey(musician) name = models.charfield(max_length=100) release_date = models.datefield() () models.integerfield num_stars = def unicode (): return name 23

24 Creating Models Manually >>> from music.models import Musician >>> m1 = Musician(first_name='Jimi', last_name='hendrix', (' instrument='guitar () m1.save <<< >>> m2 = Musician(first_name="Eric", last_name= Clapton, (' instrument='guitar () m2.save <<< () Musician.objects.all >>> Musician_list = >>> Musician_list [<Musician: Hendrix, Jimi>, <Musician: Clapton, Eric>] #remember the unicode!! 24

25 Filtering ( Musician.objects.filter(first_name= Jimi <<< [<Musician: Hendrix, Jimi>] ( Musician.objects.filter(instrument= guitar <<< [<Musician: Hendrix, Jimi>, <Musician: Clapton, Eric>] #returns a QuerySet, not an individual Model Object ( Musician.objects.filter(last_name contains= Clap <<< [<Musician: Clapton, Eric>] #double underscore!! 25

26 Getting ( Musician.objects.get(first_name= Jimi <<< <Musician: Hendrix, Jimi> #returns single object ( Musician.objects.get(instrument= violin <<< Error! DoesNotExist ( Musician.objects.get(instrument= guitar <<< Error! MultipleObjectsReturned #use try/except when using get. 26

27 Ordering ( Musician.objects.order_by(-last_name <<< [<Musician: Hendrix, Jimi>, <Musician: Clapton, Eric>] Easier way: add class Meta to Model class class Musician(models.Model): first_name = models.charfield(max_length=50) last_name = models.charfield(max_length=50) instrument = models.charfield(max_length=100) def unicode (): return last_name+, +first_name class Meta: ordering = [-last_name] 27

28 More Functionality >>>m1.instrument= drums >>>m1.save() #updates ALL rows, could lead to race condition ( Musicians.objects.filter(id=12).update(instrument= bass <<< #updates only instrument row Chaining (" Musicians.objects.filter(instrument="guitar").order_by("-last_name <<< [<Musician: Hendrix, Jimi>, <Musician: Clapton, Eric>] 28

29 Rules of Django Models 1. When you update a model, ALWAYS RUN python manage.py syncdb 2. All classes extend models.model 3. Models only live in Apps 4. Django doesn't save objects until you call save() method (...) Album >>>a1 = # a1 is not saved to the database yet! () a1.save <<< # Now it is. 29

30 Tips for Django Models 1. Keep code clean 2. Always create a unicode () method 3. Name your variables well 4. Don t think too much about the database 30

31 Django Views 31

32 Views What are they (who did the reading??) Views are the logical interface between data (Models) and presentation (Templates)

33 Hello World #inside views.py (create it) from django.http import HttpResponse def hello(request): return HttpResponse("Hello world ) # EVERY view takes a request object as first parameter # EVERY view returns an HttpResponse object

34 How to hook it up? #use urls.py from django.conf.urls.defaults import * from mysite.views import hello urlpatterns = patterns('', ('^hello/$', hello), )

35 Request Life Cycle 1. A request comes in to /hello/. 2. Django determines the root URLconf by looking at the ROOT_URLCONF setting. 3. Django looks at all of the URLpatterns in the URLconf for the first one that matches /hello/. 4. If it finds a match, it calls the associated view function. 5. The view function returns an HttpResponse. 6. Django converts the HttpResponse to the proper HTTP response, which results in a Web page.

36 Dynamic Content from django.conf.urls.defaults import * from mysite.views import hello, current_datetime, hours_ahead urlpatterns = patterns('', (r'^hello/$', hello), (r'^time/$', current_datetime), )

37 Dynamic Content from django.http import HttpResponse import datetime def hello(request): return HttpResponse("Hello world") def current_datetime(request): now = datetime.datetime.now() html = "<html><body>it is now %s.</body></html>" % now return HttpResponse(html)

38 Dynamic URLs from django.conf.urls.defaults import * from mysite.views import hello, current_datetime, hours_ahead urlpatterns = patterns('', (r'^hello/$', hello), (r'^time/$', current_datetime), (r'^time/plus/(\d{1,2})/$', hours_ahead), )

39 Dynamic URLs from django.http import Http404, HttpResponse import datetime def hours_ahead(request, offset): try: offset = int(offset) except ValueError: raise Http404() dt = datetime.datetime.now() + datetime.timedelta(hours=offset) html = "<html><body>in %s hour(s), it will be %s.</ body></html>" % (offset, dt) return HttpResponse(html)

40 A Note about Development Where to start, views or URLconfs? Big Picture: Start with URLconfs get an idea of what kind of content you need to deliver to-do list Bottom Up: Start with Views first make the pieces, then put the puzzle together

41 Tricks with URLconfs Factor out common prefixes Before: urlpatterns = patterns('', (r'^one/$', myapp.views.someview), (r'^two/$', myapp.views.someotherview), (r'^three/$', myapp.views.evenotherview), )

42 Tricks with URLconfs Factor out common prefixes After: urlpatterns = patterns( myapp.views', (r'^one/$', someview), (r'^two/$', someotherview), (r'^three/$', evenotherview), ) urlpatterns+= patterns( myotherapp.views,.

43 Extra Parameters to Views # urls.py from django.conf.urls.defaults import * from mysite import views urlpatterns = patterns('', (r'^liststyle1/$', views.list_view, {'template_name':'template1.html'}), (r'^liststyle2/$', views.list_view, {'template_name': 'template2.html'}), )

44 Extra Parameters to Views # views.py from django.shortcuts import render_to_response from mysite.models import MyModel def list_view(request, template_name): m_list = MyModel.objects.filter(is_new=True) return render_to_response(template_name, {'m_list': m_list})

45 Extra Parameters to Views # views.py from django.shortcuts import render_to_response from mysite.models import MyModel def list_view(request, template_name): m_list = MyModel.objects.filter(is_new=True) return render_to_response(template_name, {'m_list': m_list}) ^^^ TEMPLATE CONTEXT #this is called

46 Generic Views Django comes with some commonly used views redirect a user to another page render a specific template display list and detail view of objects display date-based objects in archive pages

47 Generic Views #Example: direct_to_template from django.conf.urls.defaults import * from django.views.generic.simple import direct_to_template urlpatterns = patterns('', (r'^about/$', direct_to_template, { 'template': 'about.html' }) ) #Magic!!

48 Loose Coupling Changes made to one piece of code should have little or no effect on other pieces of code to change URL from /hours_ahead to / plus_hours, need to change only URLconf to change View from calculating hours ahead to hours ago, need to change only view Allows linking multiple URLs to the same view

49 Loose Coupling def hours_ahead(request, offset): try: offset = int(offset) except ValueError: raise Http404() dt = datetime.datetime.now() + datetime.timedelta(hours=offset) html = "<html><body>in %s hour(s), it will be %s.</ body></html>" % (offset, dt) return HttpResponse(html) #HTML should be in a Template!!

50 Django Templates 50

51 weather.html <html> <head> <title> Weather </title> </head> <body> <p>today s weather in {{ city }} is {{ description }}.</p> <div id= temperature > {% for day in thisweek %} <li> On {{ day.date }}, the temperature will be {{ day.temperature }}. </li> {% endfor %} </div> <div id="ads"> {% block ads %} Click on these ads! {% endblock %} </div> </body> </html>

52 Context city = Manila descrip1on = 'sunny thisweek = [dict(date='thursday', temperature=20), dict(date='friday', temperature=25), dict(date='saturday', temperature=22)] Displayed by browser Today s weather in Manila is sunny. On Thursday, the temperature will be 20. On Friday, the temperature will be 25. On Saturday, the temperature will be 22. Click on these ads!

53 Syntax template.render(context) week = [dict(date='thursday', temperature=20), dict(date='friday', temperature=25), dict(date='saturday', temperature=22)] weather.render({city: Manila, description: sunny, thisweek=week})

54 Shortcut from Views # views.py from django.shortcuts import render_to_response from mysite.models import MyModel def list_view(request, template_name): m_list = MyModel.objects.filter(is_new=True) return render_to_response(template_name, {'m_list': m_list})

55 Templates A text-based template for HTML, CSS, XML, JavaScript, etc. Mixture between hard-coded text and abstractions Abstractions Variables Tags Re-useable and extensible

56 Hard-coded Text in weather.html <html> <head> <title> Weather </title> </head> <body> <p>today s weather in {{ city }} is {{ description }}.</p> <div id= temperature > {% for day in thisweek %} <li> On {{ day.date }}, the temperature will be {{ day.temperature }}. </li> {% endfor %} </div> <div id="ads"> {% block ads %} Click on these ads! {% endblock %} </div> </body> </html>

57 Variables {{ variable }} If variable doesn t exist, then output TEMPLATE_STRING_IF_INVALID (default: empty string ) {{ variable.attribute }} 1. Dictionary Lookup. variable[ attribute ] 2. Attribute Lookup. variable.attribute 3. Method Call. variable.attribute() 4. List-index Call. variable[attribute]

58 Variables in weather.html <html> <head> <title> Weather </title> </head> <body> <p>today s weather in {{ city }} is {{ description }}.</p> <div id= temperature {% for day in thisweek %} <li> On {{ day.date }}, the temperature will be {{ day.temperature }}. </li> {% endfor %} </div> <div id="ads"> {% block ads %} Click on these ads! {% endblock %} </div> </body> </html>

59 Filters Modify the output of variables {{ variable filter }} foo := Hello World bar := [ a, b, c ] {{ foo lower }} --> hello world {{ bar length }} --> 3 {{ bar slice: :2 }} --> [ a, b ] {{ some default: error! }} --> error!

60 Tags for loops if clauses comments blocks and many more built-in tags (look them up!) {% tag %} {% endtag %}

61 Tags in weather.html <html> <head> <title> Weather </title> </head> <body> <p>today s weather in {{ city }} is {{ description }}.</p> <div id= temperature {% for day in thisweek %} <li> On {{ day.date }}, the temperature will be {{ day.temperature }}. </li> {% endfor %} </div> <div id="ads"> {% block ads %} Click on these ads! {% endblock %} </div> </body> </html>

62 For loops {% for x in y %} logic {% endfor %} fruit_basket := { apples, oranges, pineapples } {% for fruit in fruit_basket %} <li>{{ fruit }}</li> {% endfor} <li>apples</li> --> <li>orange</li> <li>pineapples</li>

63 If clauses {% if <condition> %} logic {% else %} logic {% endif %} {% if rain > 1 } Buy an umbrella for {{ price1 }} {% else %} Buy sunglasses for {{ price2 }} {% endif %}

64 Comments {% comment %} This comment won t be displayed! {% endcomment} Ignore everything inside tag For inline comments, use {# blah blah blah #}

65 Template Inheritance Define extensible parts of a template with block tags {% block name %} {% endblock %} Create child templates that can extend blocks Load parent template with {% extends parent_template %}

66 weather.html <html> <head> <title> Weather </title> </head> <body> <p>today s weather in {{ city }} is {{ description }}.</p> <div id= temperature > {% for day in thisweek %} <li> On {{ day.date }}, the temperature will be {{ day.temperature }}. </li> {% endfor %} </div> <div id="ads"> {% block ads %} Click on these ads! {% endblock %} </div> </body> </html>

67 ads.html {% extends "weather.html" %} {% block ads %} {% if rain > 1 } Buy an umbrella! {% else %} Buy sunglasses! {% endif %} {% endblock %}

68 Context city = Manila descrip1on = 'sunny thisweek = [dict(date='thursday',temperature=20), dict(date='friday', temperature=25), dict(date='saturday', temperature=22)] rain = 3 Displayed by browser Today s weather in Manila is sunny. On Thursday, the temperature will be 20. On Friday, the temperature will be 25. On Saturday, the temperature will be 22. Click on these ads! Buy an umbrella!

69 Template Inheritance In child template, redefine contents of the parent s block tag similar to overriding methods in class inheritance If a block tag is not redefined, then use contents of block tag in parent {{ block.super }} explicitly refers to contents of block tag in parent

70 ads.html {% extends "weather.html" %}

71 Questions? 71

72 Lab 3 Connect to the Postgresql Database server at Create the models and the views for the mini social networking website FriendBook using Django 72

Accelerating Information Technology Innovation

Accelerating Information Technology Innovation Accelerating Information Technology Innovation http://aiti.mit.edu/program/philippines-summer-2012/ Philippines Summer 2012 Lecture 4 Django Views and Templates June 28, 2012 Agenda Django Views Django

More information

MIT Global Startup Labs México 2013

MIT Global Startup Labs México 2013 MIT Global Startup Labs México 2013 http://aiti.mit.edu Lesson 2 Django Models What is a model? A class describing data in your application Basically, a class with attributes for each data field that you

More information

South Africa Templates.

South Africa Templates. South Africa 2013 Lecture 15: Django Database Intro + Templates http://aiti.mit.edu Database Interaction Managers Manager is a class It's the interface between the database and django Various methods,

More information

Accelerating Information Technology Innovation

Accelerating Information Technology Innovation Accelerating Information Technology Innovation http://aiti.mit.edu Nigeria Summer 2011 Django The Big Picture Google App Engine Mobile Web Browser/ Mobile Web App Your Django app Mobile App Development

More information

정재성

정재성 건전지로달리는 쟝고세미나 정재성 Django Web Framework CGI #!/usr/bin/env python import MySQLdb print "Content-Type: text/html\n" print "books" print "" print "books" print

More information

CE419 Web Programming. Session 15: Django Web Framework

CE419 Web Programming. Session 15: Django Web Framework CE419 Web Programming Session 15: Django Web Framework Web Applications & Databases In modern Web applications, the arbitrary logic often involves interacting with a database. Behind the scenes, a database-driven

More information

widgets, events, layout loosely similar to Swing test browser, or plugin for testing with real browser on local system

widgets, events, layout loosely similar to Swing test browser, or plugin for testing with real browser on local system Web [Application] Frameworks conventional approach to building a web service write ad hoc client code in HTML, CSS, Javascript,... by hand write ad hoc server code in [whatever] by hand write ad hoc access

More information

Accelerating Information Technology Innovation

Accelerating Information Technology Innovation Accelerating Information Technology Innovation http://aiti.mit.edu Ghana Summer 2012 Lecture DJ04 Django Views Simple Diagram HTTP Request Browser urls.py HTTP Request Model/Database Data Request Data

More information

Reminders. Full Django products are due next Thursday! CS370, Günay (Emory) Spring / 6

Reminders. Full Django products are due next Thursday! CS370, Günay (Emory) Spring / 6 Reminders Full Django products are due next Thursday! CS370, Günay (Emory) Spring 2015 1 / 6 Reminders Full Django products are due next Thursday! Let's start by quizzing you. CS370, Günay (Emory) Spring

More information

Accelerating Information Technology Innovation

Accelerating Information Technology Innovation Accelerating Information Technology Innovation http://aiti.mit.edu Rwanda Summer 2011 Django 01: Models Models Suppose we want to create a web application to manage data about thousands of movies What

More information

Django: Views, Templates, and Sessions

Django: Views, Templates, and Sessions Django: Views, Templates, and Sessions CS 370 SE Practicum, Cengiz Günay (Some slides courtesy of Eugene Agichtein and the Internets) CS 370, Günay (Emory) Django Views/Templates Spring 2014 1 / 7 Agenda

More information

The Django Web Framework Part II. Hamid Zarrabi-Zadeh Web Programming Fall 2013

The Django Web Framework Part II. Hamid Zarrabi-Zadeh Web Programming Fall 2013 The Django Web Framework Part II Hamid Zarrabi-Zadeh Web Programming Fall 2013 2 Outline Overview Making the Front Page Creating the Template Creating View Functions Configuring URL Patterns Finishing

More information

generates scaffolding/framework for models, views

generates scaffolding/framework for models, views Django by Adrian Holovaty and Jacob Kaplan-Moss (released July 2005) a collection of Python scripts to create a new project / site generates Python scripts for settings, etc. configuration info stored

More information

MIT AITI Python Software Development Lab DJ1:

MIT AITI Python Software Development Lab DJ1: MIT AITI Python Software Development Lab DJ1: This lab will help you get Django installed and write your first application. 1 Each person in your group must complete this lab and have it checked off. Make

More information

django-scaffold Documentation

django-scaffold Documentation django-scaffold Documentation Release 1.1.1 James Stevenson May 27, 2015 Contents 1 Installation 3 2 Creating an app to extend scaffold 5 2.1 1. Create a new application........................................

More information

Lecture 10(-ish) Web [Application] Frameworks

Lecture 10(-ish) Web [Application] Frameworks Lecture 10(-ish) Web [Application] Frameworks Minimal Python server import SocketServer import SimpleHTTPServer class Reply(SimpleHTTPServer.SimpleHTTPRequestHandler): def do_get(self): # query arrives

More information

Moving to a Sustainable Web Development Environment for Library Web Applications

Moving to a Sustainable Web Development Environment for Library Web Applications Portland State University PDXScholar Online Northwest Online Northwest 2010 Feb 5th, 9:00 AM - 11:00 AM Moving to a Sustainable Web Development Environment for Library Web Applications Anjanette Young

More information

Django urls Django Girls Tutorial

Django urls Django Girls Tutorial Django urls Django Girls Tutorial about:reader?url=https://tutorial.djangogirls.org/en/django_urls/ 1 di 6 13/11/2017, 20:01 tutorial.djangogirls.org Django urls Django Girls Tutorial DjangoGirls 6-8 minuti

More information

Webdev: Building Django Apps. Ryan Fox Andrew Glassman MKE Python

Webdev: Building Django Apps. Ryan Fox Andrew Glassman MKE Python Webdev: Building Django Apps Ryan Fox Andrew Glassman MKE Python What Django is Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built by experienced

More information

CS50 Quiz Review. November 13, 2017

CS50 Quiz Review. November 13, 2017 CS50 Quiz Review November 13, 2017 Info http://docs.cs50.net/2017/fall/quiz/about.html 48-hour window in which to take the quiz. You should require much less than that; expect an appropriately-scaled down

More information

Quoting Wikipedia, software

Quoting Wikipedia, software Developers How To Django When Python Bites the Web WWW.WWW.WWW. Here s how to start using Django for Web application development. Quoting Wikipedia, software frameworks aim to facilitate software development

More information

Django Admin Sortable Documentation

Django Admin Sortable Documentation Django Admin Sortable Documentation Release 1.7.0 Brandon Taylor September 28, 2016 Contents 1 Supported Django Versions 3 1.1 Django 1.4.x............................................... 3 1.2 Django

More information

Accelerating Information Technology Innovation

Accelerating Information Technology Innovation Accelerating Information Technology Innovation http://aiti.mit.edu/program/philippines-summer-2012/ Philippines Summer 2012 Lecture 1 Introduction to Python June 19, 2012 Agenda About the Course What is

More information

Rapid Development with Django and App Engine. Guido van Rossum May 28, 2008

Rapid Development with Django and App Engine. Guido van Rossum May 28, 2008 Rapid Development with Django and App Engine Guido van Rossum May 28, 2008 Talk Overview This is not a plug for Python, Django or Google App Engine Except implicitly :) Best practices for using Django

More information

Django starting guide

Django starting guide Django starting guide (and much more ) Alessandro Bucciarelli Outline Lesson 1 Intro to versioning systems (Git) Intro to Python and basic data structures Django Lesson 2 Interaction between Django and

More information

Functional Programming & Web Frameworks

Functional Programming & Web Frameworks Functional Programming & Web Frameworks Independent Study Report Justin Cady February 22, 2011 This report summarizes an independent study on web frameworks by Justin Cady, advised by Professor Matthew

More information

Django Part II SPARCS 11 undead. Greatly Inspired by SPARCS 10 hodduc

Django Part II SPARCS 11 undead. Greatly Inspired by SPARCS 10 hodduc Django Part II 2015-05-27 SPARCS 11 undead Greatly Inspired by SPARCS 10 hodduc Previously on Django Seminar Structure of Web Environment HTTP Requests and HTTP Responses Structure of a Django Project

More information

Tomasz Szumlak WFiIS AGH 23/10/2017, Kraków

Tomasz Szumlak WFiIS AGH 23/10/2017, Kraków Python in the Enterprise Django Intro Tomasz Szumlak WFiIS AGH 23/10/2017, Kraków Going beyond Django is a Web framework very popular! It is not the only one, and cannot do wonders There are many others:

More information

django-gollum Documentation

django-gollum Documentation django-gollum Documentation Release 1.0.0 Luke Sneeringer December 11, 2016 Contents 1 Installation 3 2 Dependencies 5 3 Getting Started 7 4 Getting Help 9 5 License 11 6 Index 13 6.1 Using django-gollum...........................................

More information

djangotribune Documentation

djangotribune Documentation djangotribune Documentation Release 0.7.9 David THENON Nov 05, 2017 Contents 1 Features 3 2 Links 5 2.1 Contents................................................. 5 2.1.1 Install..............................................

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016 DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016 AGENDA FOR TODAY Advanced Mysql More than just SELECT Creating tables MySQL optimizations: Storage engines, indexing.

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course,

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016-2017 AGENDA FOR TODAY The final project Advanced Mysql Database programming Recap: DB servers in the web Web programming

More information

Quick housekeeping Last Two Homeworks Extra Credit for demoing project prototypes Reminder about Project Deadlines/specifics Class on April 12th Resul

Quick housekeeping Last Two Homeworks Extra Credit for demoing project prototypes Reminder about Project Deadlines/specifics Class on April 12th Resul CIS192 Python Programming Web Frameworks and Web APIs Harry Smith University of Pennsylvania March 29, 2016 Harry Smith (University of Pennsylvania) CIS 192 March 29, 2016 1 / 25 Quick housekeeping Last

More information

web frameworks design comparison draft - please help me improve it focus on Model-View-Controller frameworks

web frameworks design comparison draft - please help me improve it focus on Model-View-Controller frameworks web frameworks design comparison draft - please help me improve it focus on Model-View-Controller frameworks Controllers In Rails class MyTestController < ApplicationController def index render_text Hello

More information

wagtailtrans Documentation

wagtailtrans Documentation wagtailtrans Documentation Release 0.1.0 LUKKIEN Jul 27, 2018 Contents 1 Table of contents 3 1.1 Getting started.............................................. 3 1.2 Migrate your existing Wagtail site....................................

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming Web Servers and Web APIs Eric Kutschera University of Pennsylvania March 6, 2015 Eric Kutschera (University of Pennsylvania) CIS 192 March 6, 2015 1 / 22 Outline 1 Web Servers

More information

django-conduit Documentation

django-conduit Documentation django-conduit Documentation Release 0.0.1 Alec Koumjian Apr 24, 2017 Contents 1 Why Use Django-Conduit? 3 2 Table of Contents 5 2.1 Filtering and Ordering.......................................... 5

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming Web Servers and Web APIs Raymond Yin University of Pennsylvania November 12, 2015 Raymond Yin (University of Pennsylvania) CIS 192 November 12, 2015 1 / 23 Outline 1 Web Servers

More information

canary Documentation Release 0.1 Branton K. Davis

canary Documentation Release 0.1 Branton K. Davis canary Documentation Release 0.1 Branton K. Davis August 18, 2012 CONTENTS 1 Installation 3 1.1 Installing Canary Reports........................................ 3 1.2 Running the Demo Project........................................

More information

Django Extras Documentation

Django Extras Documentation Django Extras Documentation Release 0.2.7.b1 Tim Savage September 22, 2017 Contents 1 Django Extras documentation 1 1.1 Project Status............................................... 1 1.2 Getting help...............................................

More information

django-openid Documentation

django-openid Documentation django-openid Documentation Release 2.0a Simon Willison September 27, 2017 Contents 1 Installation 3 2 Accepting OpenID 5 2.1 Redirecting somewhere else....................................... 6 2.2 Requesting

More information

alphafilter Documentation

alphafilter Documentation alphafilter Documentation Release 0.6 coordt September 09, 2013 CONTENTS i ii alphafilter Documentation, Release 0.6 Contents: CONTENTS 1 alphafilter Documentation, Release 0.6 2 CONTENTS CHAPTER ONE

More information

Djam Documentation. Release Participatory Culture Foundation

Djam Documentation. Release Participatory Culture Foundation Djam Documentation Release 0.1.0 Participatory Culture Foundation December 24, 2013 Contents 1 Links 3 2 Getting Started 5 2.1 Quick Start................................................ 5 2.2 Extending

More information

Technology modeling. Ralf Lämmel Software Languages Team University of Koblenz-Landau

Technology modeling. Ralf Lämmel Software Languages Team University of Koblenz-Landau Technology modeling Ralf Lämmel Software Languages Team University of Koblenz-Landau Technologies are at the heart of software development. Let s model them for understanding. 1 Different kinds of software

More information

welcome to BOILERCAMP HOW TO WEB DEV

welcome to BOILERCAMP HOW TO WEB DEV welcome to BOILERCAMP HOW TO WEB DEV Introduction / Project Overview The Plan Personal Website/Blog Schedule Introduction / Project Overview HTML / CSS Client-side JavaScript Lunch Node.js / Express.js

More information

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. Django

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. Django About the Tutorial Django is a web development framework that assists in building and maintaining quality web applications. Django helps eliminate repetitive tasks making the development process an easy

More information

Accelerating Information Technology Innovation

Accelerating Information Technology Innovation Accelerating Information Technology Innovation http://aiti.mit.edu Cali, Colombia Summer 2012 Lesson 1 Introduction to Python Agenda What is Python? and Why Python? Basic Syntax Strings User Input Useful

More information

Django. Jinja2. Aymeric Augustin DjangoCong 2016

Django. Jinja2. Aymeric Augustin DjangoCong 2016 Django Jinja2 Aymeric Augustin DjangoCong 2016 Jardin des Plantes, Avranches, 9 avril 2016 I m Aymeric Amalfi Core Developer since 2011 Chief Technical Officer since 2015 Time zones Python 3 Transactions

More information

web.py Tutorial Tom Kelliher, CS 317 This tutorial is the tutorial from the web.py web site, with a few revisions for our local environment.

web.py Tutorial Tom Kelliher, CS 317 This tutorial is the tutorial from the web.py web site, with a few revisions for our local environment. web.py Tutorial Tom Kelliher, CS 317 1 Acknowledgment This tutorial is the tutorial from the web.py web site, with a few revisions for our local environment. 2 Starting So you know Python and want to make

More information

DEC Computer Technology LESSON 6: DATABASES AND WEB SEARCH ENGINES

DEC Computer Technology LESSON 6: DATABASES AND WEB SEARCH ENGINES DEC. 1-5 Computer Technology LESSON 6: DATABASES AND WEB SEARCH ENGINES Monday Overview of Databases A web search engine is a large database containing information about Web pages that have been registered

More information

DIGIT.B4 Big Data PoC

DIGIT.B4 Big Data PoC DIGIT.B4 Big Data PoC GROW Transpositions D04.01.Information System Table of contents 1 Introduction... 4 1.1 Context of the project... 4 1.2 Objective... 4 2 Technologies used... 5 2.1 Python... 5 2.2

More information

django-model-utils Documentation

django-model-utils Documentation django-model-utils Documentation Release 3.1.1 Carl Meyer Jan 10, 2018 Contents 1 Contents 3 1.1 Setup................................................... 3 1.1.1 Installation...........................................

More information

MapEntity Documentation

MapEntity Documentation MapEntity Documentation Release 0.1.0 Makina Corpus Jun 11, 2018 Contents 1 Installation 3 1.1 Quickstart................................................ 3 1.2 Manual installation With a PostGIS database..............................

More information

SAURASHTRA UNIVERSITY

SAURASHTRA UNIVERSITY SAURASHTRA UNIVERSITY RAJKOT INDIA Accredited Grade A by NAAC (CGPA 3.05) CURRICULAM FOR M. Sc. (IT & CA) (2 Years Full Time: 4 Semester Programme) MASTER OF SCIENCE (Information Technology & Computer

More information

Front End Programming

Front End Programming Front End Programming Mendel Rosenblum Brief history of Web Applications Initially: static HTML files only. Common Gateway Interface (CGI) Certain URLs map to executable programs that generate web page

More information

Theming with Twig in Drupal 8. John Jennings Developer, Johnson & Johnson

Theming with Twig in Drupal 8. John Jennings Developer, Johnson & Johnson Theming with Twig in Drupal 8 John Jennings Developer, Johnson & Johnson What is Twig? From SensioLabs, the developers about Twig: A templating engine for PHP, thus requiring PHP (v. 5.3.3 minimum) Compiles

More information

django-renderit Documentation

django-renderit Documentation django-renderit Documentation Release 1.2 jsoares Nov 20, 2017 Contents 1 Installation 3 2 Getting Started 5 2.1 Basic Usage............................................... 5 2.2 Extra Arguments.............................................

More information

Jquery Manually Set Checkbox Checked Or Not

Jquery Manually Set Checkbox Checked Or Not Jquery Manually Set Checkbox Checked Or Not Working Second Time jquery code to set checkbox element to checked not working. Apr 09 I forced a loop to show checked state after the second menu item in the

More information

DJOAuth2 Documentation

DJOAuth2 Documentation DJOAuth2 Documentation Release 0.6.0 Peter Downs Sep 27, 2017 Contents 1 Important Links 1 2 What is DJOAuth2? 3 3 Why use DJOAuth2? 5 4 What is implemented? 7 5 Quickstart Guide 9 5.1 Requirements...............................................

More information

django-audit-log Documentation

django-audit-log Documentation django-audit-log Documentation Release 0.8.0 Vasil Vangelovski (Atomidata) Jul 21, 2017 Contents 1 Installation 3 2 Tracking Users that Created/Modified a Model 5 2.1 Tracking Who Created a Model.....................................

More information

Easy-select2 Documentation

Easy-select2 Documentation Easy-select2 Documentation Release 1.2.2 Lobanov Stanislav aka asyncee September 15, 2014 Contents 1 Installation 3 2 Quickstart 5 3 Configuration 7 4 Usage 9 5 Reference 11 5.1 Widgets..................................................

More information

Json Parse Error - No Json Object Could Be Decoded Django Rest Framework

Json Parse Error - No Json Object Could Be Decoded Django Rest Framework Json Parse Error - No Json Object Could Be Decoded Django Rest Framework It supports REST framework's flexible request parsing, rather than just supporting form data. ParseError: JSON parse error - No

More information

Introduction to Web Development

Introduction to Web Development Introduction to Web Development Lecture 1 CGS 3066 Fall 2016 September 8, 2016 Why learn Web Development? Why learn Web Development? Reach Today, we have around 12.5 billion web enabled devices. Visual

More information

All India Council For Research & Training

All India Council For Research & Training WEB DEVELOPMENT & DESIGNING Are you looking for a master program in web that covers everything related to web? Then yes! You have landed up on the right page. Web Master Course is an advanced web designing,

More information

CSE 115. Introduction to Computer Science I

CSE 115. Introduction to Computer Science I CSE 115 Introduction to Computer Science I Road map Review Limitations of front-end sites Web servers Examples Review

More information

django-xross Documentation

django-xross Documentation django-xross Documentation Release 0.6.0 Igor idle sign Starikov Jan 14, 2018 Contents 1 Description 3 2 Requirements 5 3 Table of Contents 7 3.1 Quickstart................................................

More information

django-contact-form Documentation

django-contact-form Documentation django-contact-form Documentation Release 1.4.2 James Bennett Aug 01, 2017 Installation and configuration 1 Installation guide 3 2 Quick start guide 5 3 Contact form classes 9 4 Built-in views 13 5 Frequently

More information

Microsoft Expression Web Quickstart Guide

Microsoft Expression Web Quickstart Guide Microsoft Expression Web Quickstart Guide MS-Expression Web Quickstart Guide Page 1 of 24 Expression Web Quickstart Guide (20-Minute Training) Welcome to Expression Web. When you first launch the program,

More information

django-oauth2-provider Documentation

django-oauth2-provider Documentation django-oauth2-provider Documentation Release 0.2.7-dev Alen Mujezinovic Aug 16, 2017 Contents 1 Getting started 3 1.1 Getting started.............................................. 3 2 API 5 2.1 provider.................................................

More information

Checklist for Testing of Web Application

Checklist for Testing of Web Application Checklist for Testing of Web Application Web Testing in simple terms is checking your web application for potential bugs before its made live or before code is moved into the production environment. During

More information

django-model-report Documentation

django-model-report Documentation django-model-report Documentation Release 0.2.1 juanpex Nov 06, 2017 Contents 1 Demo 3 1.1 User Guide................................................ 3 1.2 Modules.................................................

More information

Introduction to XML. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University

Introduction to XML. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University Introduction to XML Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University http://gear.kku.ac.th/~krunapon/xmlws 1 Topics p What is XML? p Why XML? p Where does XML

More information

Django IPRestrict Documentation

Django IPRestrict Documentation Django IPRestrict Documentation Release 1.4.1 Tamas Szabo Nov 06, 2017 Contents 1 Table of Contents 3 1.1 Requirements and Installation...................................... 3 1.2 Configuration...............................................

More information

Django Groups Manager Documentation

Django Groups Manager Documentation Django Groups Manager Documentation Release 0.3.0 Vittorio Zamboni May 03, 2017 Contents 1 Documentation 3 1.1 Installation................................................ 3 1.2 Basic usage................................................

More information

wagtailmenus Documentation

wagtailmenus Documentation wagtailmenus Documentation Release 2.12 Andy Babic Nov 17, 2018 Contents 1 Full index 3 1.1 Overview and key concepts....................................... 3 1.1.1 Better control over top-level menu

More information

Django-Select2 Documentation. Nirupam Biswas

Django-Select2 Documentation. Nirupam Biswas Nirupam Biswas Mar 07, 2018 Contents 1 Get Started 3 1.1 Overview................................................. 3 1.2 Installation................................................ 3 1.3 External Dependencies..........................................

More information

Lecture : 3. Practical : 2. Course Credit. Tutorial : 0. Total : 5. Course Learning Outcomes

Lecture : 3. Practical : 2. Course Credit. Tutorial : 0. Total : 5. Course Learning Outcomes Course Title Course Code WEB DESIGNING TECHNOLOGIES DCE311 Lecture : 3 Course Credit Practical : Tutorial : 0 Total : 5 Course Learning Outcomes At end of the course, students will be able to: Understand

More information

webkitpony Documentation

webkitpony Documentation webkitpony Documentation Release 0.1 Toni Michel May 24, 2014 Contents 1 Motivation 3 2 Goal 5 3 Understanding webkitpony 7 3.1 Understanding webkitpony........................................ 7 3.2 The

More information

7401ICT eservice Technology. (Some of) the actual examination questions will be more precise than these.

7401ICT eservice Technology. (Some of) the actual examination questions will be more precise than these. SAMPLE EXAMINATION QUESTIONS (Some of) the actual examination questions will be more precise than these. Basic terms and concepts Define, compare and discuss the following terms and concepts: a. HTML,

More information

django-facebook-graph Documentation

django-facebook-graph Documentation django-facebook-graph Documentation Release 0.1 FEINHEIT GmbH Mar 29, 2017 Contents 1 Installation 3 1.1 Add 'facebook' to your INSTALLED_APPS............................ 3 1.2 Add the middlewares...........................................

More information

Access Intermediate

Access Intermediate Access 2013 - Intermediate 103-134 Advanced Queries Quick Links Overview Pages AC124 AC125 Selecting Fields Pages AC125 AC128 AC129 AC131 AC238 Sorting Results Pages AC131 AC136 Specifying Criteria Pages

More information

Introduction to XML 3/14/12. Introduction to XML

Introduction to XML 3/14/12. Introduction to XML Introduction to XML Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University http://gear.kku.ac.th/~krunapon/xmlws 1 Topics p What is XML? p Why XML? p Where does XML

More information

Web Technology for Test and Automation Applications

Web Technology for Test and Automation Applications Web Technology for Test and Automation Applications Fanie Coetzer - FSE Demo Operator Technician Engineers Your boss Test Sequencer 3 Goal I know nothing I know what it takes to get started on web applications

More information

Django PAM Documentation

Django PAM Documentation Django PAM Documentation Release 1.4.1 Carl J. Nobile Aug 01, 2018 Contents 1 Contents 3 1.1 Installation................................................ 3 1.2 Configuration...............................................

More information

Workbooks (File) and Worksheet Handling

Workbooks (File) and Worksheet Handling Workbooks (File) and Worksheet Handling Excel Limitation Excel shortcut use and benefits Excel setting and custom list creation Excel Template and File location system Advanced Paste Special Calculation

More information

Introduction to Programming Nanodegree Syllabus

Introduction to Programming Nanodegree Syllabus Introduction to Programming Nanodegree Syllabus Learn to Code Before You Start Prerequisites: In order to succeed, we recommend having experience using the web, being able to perform a search on Google,

More information

Introduction to Semistructured Data and XML. Overview. How the Web is Today. Based on slides by Dan Suciu University of Washington

Introduction to Semistructured Data and XML. Overview. How the Web is Today. Based on slides by Dan Suciu University of Washington Introduction to Semistructured Data and XML Based on slides by Dan Suciu University of Washington CS330 Lecture April 8, 2003 1 Overview From HTML to XML DTDs Querying XML: XPath Transforming XML: XSLT

More information

The syndication feed framework

The syndication feed framework 1 di 14 12/04/2007 18.23 The syndication feed framework This document is for Django's SVN release, which can be significantly different than previous releases. Get old docs here: 0.96, 0.95. Django comes

More information

Building a Django Twilio Programmable Chat Application

Building a Django Twilio Programmable Chat Application Building a Django Twilio Programmable Chat Application twilio.com/blog/08/0/python-django-twilio-programmable-chat-application.html March 7, 08 As a developer, I ve always wanted to include chat capabilities

More information

Worldnow Producer. Stories

Worldnow Producer. Stories Worldnow Producer Stories Table of Contents Overview... 4 Getting Started... 4 Adding Stories... 5 Story Sections... 5 Toolbar... 5 Copy Live URL... 6 Headline... 6 Abridged Title... 6 Abridged Clickable

More information

CIT 590 Homework 5 HTML Resumes

CIT 590 Homework 5 HTML Resumes CIT 590 Homework 5 HTML Resumes Purposes of this assignment Reading from and writing to files Scraping information from a text file Basic HTML usage General problem specification A website is made up of

More information

The Definitive Guide to Django

The Definitive Guide to Django The Definitive Guide to Django Web Development Done Right, Second Edition cession No. ok ID for signout Adrian Holovaty and Jacob Kaplan-Moss 882 Apresse Contents at a Glance About the Author....................................

More information

DATABASE SYSTEMS. Introduction to web programming. Database Systems Course, 2016

DATABASE SYSTEMS. Introduction to web programming. Database Systems Course, 2016 DATABASE SYSTEMS Introduction to web programming Database Systems Course, 2016 AGENDA FOR TODAY Client side programming HTML CSS Javascript Server side programming: PHP Installing a local web-server Basic

More information

django-avatar Documentation

django-avatar Documentation django-avatar Documentation Release 2.0 django-avatar developers Oct 04, 2018 Contents 1 Installation 3 2 Usage 5 3 Template tags and filter 7 4 Global Settings 9 5 Management Commands 11 i ii django-avatar

More information

Django Deployment & Tips daybreaker

Django Deployment & Tips daybreaker Django Deployment & Tips 2010. 6. 7 daybreaker We have covered Django Basics Concept of MVC Templates Models Admin Sites Forms Users (authentication) Thanks to battery Today s Contents Deployment: mod_python

More information

DOWNLOAD PDF WHAT IS OPEN EBOOK

DOWNLOAD PDF WHAT IS OPEN EBOOK Chapter 1 : Home Page Open the Books Open ebooks These ebooks can be read without checkouts or holds. The goal of Open ebooks is to encourage a love of reading and serve as a gateway to children reading

More information

Django Extra Views Documentation

Django Extra Views Documentation Django Extra Views Documentation Release 0.12.0 Andrew Ingram Nov 30, 2018 Contents 1 Features 3 2 Table of Contents 5 2.1 Getting Started.............................................. 5 2.2 Formset Views..............................................

More information

Django_template3d Documentation

Django_template3d Documentation Django_template3d Documentation Release 0.0.1 Robert Steckroth August 27, 2016 Contents 1 Getting Started 3 1.1 Quick Install............................................... 3 2 Learning Template3d 5 2.1

More information

Tutorial 4. Activities. Code o Editor: Expression Web o Focus : Base Layout, navigation with folders, external stylesheets, Open up Expression Web

Tutorial 4. Activities. Code o Editor: Expression Web o Focus : Base Layout, navigation with folders, external stylesheets, Open up Expression Web Tutorial 4 Activities Code o Editor: Expression Web o Focus : Base Layout, navigation with folders, external stylesheets, Open up Expression Web Ensure that the editor is in code mode, down the bottom

More information

Ecocion Facility Management System Alex Anderson Niles Hacking Ryan Shipp June 16, 2015

Ecocion Facility Management System Alex Anderson Niles Hacking Ryan Shipp June 16, 2015 Ecocion Facility Management System Alex Anderson Niles Hacking Ryan Shipp June 16, 2015 1 Table of Contents 1. Introduction 2 1.1. Client Description 1.2. Product Vision 2. Requirements. 2 2.1. Functional

More information