Accelerating Information Technology Innovation

Size: px
Start display at page:

Download "Accelerating Information Technology Innovation"

Transcription

1 Accelerating Information Technology Innovation Nigeria Summer 2011 Django

2 The Big Picture Google App Engine Mobile Web Browser/ Mobile Web App Your Django app

3 Mobile App Development Course Roadmap Django Back-End Google App Engine Google Datastore Mobile Applications SMS/USSD Mobile Web HTML CSS Front End Javascript/ JQuery Android Java Python with SL4A

4 Core Interface Client SMS Gateway GAE: Main Django App GAE: JSON API Local App GAE: Website Mobile Web Desktop Web

5 Development Tools Operating system Linux (Ubuntu) Integrated Development Environment Eclipse (Pydev) Version Control git (GitHub) mercurial (Bitbucket or Google project hosting) subversion (Google project hosting)

6 Web design Never design websites from scratch Two main options: Content Management Systems (CMS) A website straight out of the box Can be modified and customised Web frameworks Consists of code libraries that provides functionality for common components in a website, web app, or web service. Build your own CMS

7 Why CMS and Web Frameworks 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. In this class, we re going to use a Web Framework called Django

8 Frameworks: 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 Exact roles of model, view, and controller depend on who you ask!

9 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

10 Python Web Application Frameworks for Backend

11 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 Django

12 Why Django? Fast and easy development of web applications Modular and re-useable. Don t Repeat Yourself (DRY) principle Hides database details Active development and wide community support Successful Django sites Supported by Google App Engine

13 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

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

15 Django Architecture MVC (Traditional) Model View Controller MTV (Django) Model Template View

16 Google App Engine Google s cloud computing platform to develop and host web applications Distributed data storage service (The Datastore) Free up to 500 MB of storage and 5 million page views Saves the hassle and initial costs of setting up your own server equipment and software Supports Java and Python

17 Django: Projects and Apps Django works with projects and apps Apps are pluggable (any app can be in multiple projects) Feedback (App) Responder (App) Parser (App) Website (Project)

18 Getting Started with django 1. Setup website 2. Create the app(s) Set up the models Set up the views Create templates if needed Modify the urls 3. Update database 4. Start the server

19 1. Setup website django-admin.py startproject musicsite Creates musicsite in current directory Default file directory init.py manage.py settings.py urls.py An empty file that tells Python this directory is a Python package Command-line utility that lets you interact with this Django project in various ways Settings/configuration for this Django project The URL declarations for this Django project

20 2. Create the app cd musicsite django-admin.py startapp musicmanager Create app named musicmanager File directory init.py An empty file that tells Python this directory is a Python package models.py Contains classes that specify our models tests.py views.py Contains logic and functions for views

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

22 Models What they are? Models are schema for your data Classes describing data in your app Classes with attributes for each data field Why do we use them? Avoid direct work with the database No need to handle database connections, timeouts, etc. Let django do it for you.

23 Django fields Define the field and django handles the rest: In models.py active = models.booleanfield() Django handles the rest: Bit value in sql database Represented as a checkbox on a webpage Validation of values Django has already implemented fields Can also implement custom fields

24 Name BooleanField CharField(max_length=x) DateField DateTimeField DecimalField(max_digits, decimal_places) Field FileField FloatField ImageField *** Don t use, unsupported IntegerField PositiveIntegerField TextField TimeField URLField Displays as Checkbox Single-line textbox Javascript calendar Javascript calendar, time picker Decimal numbers CharField that validates address File upload, stores path in database Floating point numbers Stores images Integer textbox Integer textbox for positive integers Multi-line textbox Time picker Textbox for URLs

25 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

26 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'), ) gender = models.charfield(max_length=1, choices=gender_choices) 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

27 DateField and DateTimeField options Auto_now Any time the object is saved, the field will be updated with the current time. Auto_now_add The time will always be equal to the creation date of the object.

28 Model Methods unicode (): Equivalent of tostring used for autogenerated admin pages get_absolute_url() Used for deciding URLs that reference a specific object

29 2. Create the app: Edit models.py class Musician(models.Model): first_name = models.charfield(max_length=50) sur_name = models.charfield(max_length=50) instrument = models.charfield(max_length=100) def unicode (): return sur_name+, +first_name class Album(models.Model): artist = models.foreignkey(musician) name = models.charfield(max_length=100) release_date = models.datefield() num_stars = models.integerfield() def unicode (): return name

30 Creating Models Manually >>> from music.models import Musician Not in database yet >>> m1 = Musician(first_name='Femi', sur_name='kuti', instrument='saxophone') >>> m1.save() Now in database >>> m2 = Musician(first_name='Eric', sur_name='clapton', instrument='guitar') >>> m2.save()

31 Getting data from database: Managers and QuerySets Manager class interface between the database and the app Musician.objects returns a Manager object Methods include filter(), exclude(), and order_by() QuerySet class collection of objects from the database Musician.objects.get_query_set.all() or the shorter Musician.objects.all() returns QuerySet objects We can refine a QuerySet to produce another QuerySet Methods include filter(), exclude(), and order_by()

32 Filter Data exact: gets an exact match Musician.objects.filter (instrument exact= saxophone! Musician.objects.filter(instrument='saxophone') # exact is implied contains: find if a match is contained inside a field Musician.objects.filter (instrument contains= sax ) icontains: case insensitive contains Musician.objects.filter (last_name icontains= kuti')

33 Ordering Musician.objects.order_by('- last_name', first_name ) First orders by last_name in descending order (hence the negative sign). If there are last_names that are equivalent, then first_name is ordered in ascending order.

34 Values Musician.objects.values() Returns a ValueQuerySet, which returns a list of dictionaries when executed Musician.objects.values ( last_name', first_name') Returns only the fields last_name and first_name in the dictionary

35 Distinct Musician.objects.distinct() If there are any duplicate rows, only one is returned This will rarely work like this, because you often will already have a distinct field, like an id Musician.objects.values( last_name, first_name ).distinct() This will get all unique last_namefirst_name combinations Notice the chaining here!

36 Slicing Musician.objects.all()[:5] Gets the first 5 Musician objects

37 Get Gets a single row raises MultipleObjectsReturned if more than one object was found. The MultipleObjectsReturned exception is an attribute of the model class. raises a DoesNotExist exception if an object wasn't found for the given parameters. This exception is also an attribute of the model class. Musician.objects.get(id=5) Returns a single QuerySet if there is a row that exists, otherwise an error ensues Musician.objects.filter(id=5)[0] Similar, except no exceptions are thrown

38 When are QuerySets evaluated? Iteration for person in Musician.objects.all(): print person.first_name, person.last_name Boolean if Musician.objects.filter(instrument= voice"): print "There is at least one Musician that sings"

39 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_list = Musician.objects.all() >>> Musician_list [<Musician: Hendrix, Jimi>, <Musician: Clapton, Eric>] #remember the unicode!!

40 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!!

41 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.

42 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]

43 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>]

44 Rules of Django Models 1. If you update a model, UPDATE DATABASE python manage.py syncdb 2. All classes extend models.model 3. Only apps have Models 4. Django doesn't save objects until you call save() method

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

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

47 Views Views are the logical interface between data (Models) and presentation (Templates) Defined in views.py inside the appfolder EVERY view takes a request object as first parameter EVERY view returns an HttpResponse object from django.http import HttpResponse def hello(request): return HttpResponse("Hello world")

48 Our views.py from django.template import Context, loader from django.http import HttpResponse from models import Musician def musicians_list(request): musician_list = Musician.objects.all() t = loader.get_template('musicians/list.html') c = Context({'musician_list': musician_list,}) return HttpResponse(t.render(c)) def musicians_detail(request,id): musician = Musician.objects.get(pk=id) t = loader.get_template('musicians/detail.html') c = Context({'musician': musician,}) return HttpResponse(t.render(c))

49 Use urls.py to direct HTTP requests to views # urls.py in musicsite from django.conf.urls.defaults import * from django.contrib import admin urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), url(r'^musicians/, include(musicsite.musicians.urls )) ) # urls.py in musicians from django.conf.urls.default import * import views urlpatterns = patterns('', url(r'^list/$',views.musicians_list,name='musicians_list'), url(r'^detail/(?p<id>\d+)/ $',views.musicians_detail,name='musicians_detail'), )

50 Request Life Cycle 1. User requests to view URL 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 the URL 4. If it finds a match, it calls the associated view function. Repeats Steps 3-4 if redirected to another urls.py 5. The view function returns an HttpResponse. 6. Django converts the HttpResponse to the proper HTTP response, which results in a Web page.

51 Request Life Cycle User requests musicians/detail/ 2 Django determines root URLConf is urls.py in musicsite Django looks up musicians/detail/ 2 in urls.py of musicsite Django display the HTTPResponse as a web page There s a match, and Django calls the associated view function There s a match, but Django must look up detail/2 in musicians urls.py

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

53 Dynamic Content # views.py 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)

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

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 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 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>

58 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]

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 ] {{ baz 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 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

67 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>

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

69 Context city = Nairobi 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 Nairobi 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!

70 Templates Mixture of hard-coded text and abstractions Abstractions often look like and function like Python code, but you can t run arbitrary Python code Lookup list of built-in filters and tags in Django Customize your own filters and tags Complex logic with arbitrary Python should be performed by views.py and only the processed variables should be passed to a template

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

72 Forms You don t want to give users access to the admin interface, but you still want them to be able to add/update data 72

73 Basic HTML form <html>! <head>! <title>contact us</title>! </head>! <body>! <h1>contact us</h1>! <form action="/contact/" method="post">! <p>subject: <input type="text" name="subject"></p>! <p>your (optional): <input type="text" name=" "></p>! <p>message: <textarea name="message" rows="10" cols="50"></textarea></p>! <input type="submit" value="submit">! </form>! </body>! </html>! 73

74 Django Form from django import forms! class ContactForm(forms.Form):! subject = forms.charfield()! = forms. field(required=false)! message = forms.charfield()! 74

75 Form Methods print ContactForm()! Prints out HTML code for the form with a table layout print ContactForm().as_ul()! Prints out HTML code for the form as an unordered list print ContactForm().as_p()! Prints out HTML code for the form as paragraphs 75

76 Form Validation f = ContactForm({'subject': 'Hello', ' ': 'adrian@example.com', 'message': 'Nice site!'})! When you create an instance of a form using a dictionary as an argument, it will use those values to fill in the form on the server 76

77 Form validation f.is_bound! Returns true if the form has been bound to data f.is_valid()! Returns true if all values passed to the form are valid F.cleaned_data! Returns a dictionary with all data cleaned up 77

78 Form Error Handling Error handling is done automatically by the form and errors are saved into an instance variable called errors 78

79 Creating a view def contact(request):! if request.method == 'POST':! form = ContactForm(request.POST)! if form.is_valid():! cd = form.cleaned_data! send_mail(! cd['subject'],! cd['message'],! cd.get(' ', 'noreply@example.com'),! ['siteowner@example.com'],! )! return HttpResponseRedirect('/contact/thanks/')! else:! form = ContactForm()! return render_to_response('contact_form.html', {'form': form})! 79

80 New contact_form.html <html>! <head>! <title>contact us</title>! </head>! <body>! <h1>contact us</h1>! {% if form.errors %}! <p style="color: red;">! Please correct the error{{ form.errors pluralize }} below.! </p>! {% endif %}! <form action="" method="post">! <table>! {{ form.as_table }}! </table>! <input type="submit" value="submit">! </form>! </body>! </html>! 80

81 Making it better Make message be a Textarea instead of a textbox: message = forms.charfield (widget=forms.textarea)! Limit subject length: subject = forms.charfield (max_length=100)! Adding labels = forms. field (required=false, label='your address')! 81

82 Making it better Adding initial Values def contact(request):! if request.method == 'POST':!...! else:! form = ContactForm(! initial={'subject': 'I love your site!'}! )! return render_to_response('contact_form.html', {'form': form})! 82

83 Making it better Custom validation: Inside your form class, you can create custom methods that will clean your variable and throw an exception if it fails The Forms class will automatically look for the pattern clean_fieldname, so we can use clean_subject, clean_ , or clean_message! 83

84 Making it better def clean_message(self):! message = self.cleaned_data ['message']! num_words = len (message.split())! if num_words < 4:! raise forms.validationerror("not enough words!")! return message! 84

85 Do I have to do that every time? No. Only if you re using a form that s not controlled by a model. 85

86 Forms from Models Using our example of a Musician model: from django.forms import ModelForm! class MusicianForm(ModelForm):! class Meta:! model = Musician! That s it. 86

87 Forms from Models To create an add form from your class: form = MusicianForm() To create a change form: mus = Musician.objects.get (first_name= Jimi ) Form = MusicianForm(instance=mus) 87

88 Forms from Models Saving the input from a form f = MusicianForm(request.POST)! new_musican = f.save()! Restricting fields for the form: class PartialMusicianForm(ModelForm):! class Meta:! model = Musician! fields = ( sur_name', first_name')!!!! exclude = ( instrument )! 88

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/program/philippines-summer-2012/ Philippines Summer 2012 Lecture 3 Rapid Application Development with Python June 26, 2012 Agenda Introduction

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 4 Django Views and Templates June 28, 2012 Agenda Django Views Django

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

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

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

정재성

정재성 건전지로달리는 쟝고세미나 정재성 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

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

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

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

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 File Picker Documentation

Django File Picker Documentation Django File Picker Documentation Release 0.5 Caktus Consulting Group LLC Nov 06, 2017 Contents 1 Dependencies 3 1.1 Required................................................. 3 1.2 Optional.................................................

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

Ninja Typers Web Application Design Document By Marvin Farrell C

Ninja Typers Web Application Design Document By Marvin Farrell C Ninja Typers Web Application Design Document By Marvin Farrell C00141725 Table of Contents 1. Introduction... 2 2. Django Files... 2 2.2. Project Files... 2 2.3. Application Files... 3 3. Use Cases...

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

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

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

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 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

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

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

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

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

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

Graphene Documentation

Graphene Documentation Graphene Documentation Release 1.0.dev Syrus Akbary Nov 09, 2017 Contents 1 Introduction tutorial - Graphene and Django 3 1.1 Set up the Django project........................................ 3 1.2 Hello

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 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

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

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

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

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

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

Django Phantom Theme Documentation

Django Phantom Theme Documentation Django Phantom Theme Documentation Release 1.1 Przemyslaw bespider Pajak for EggForSale Sep 28, 2017 Contents 1 Features 3 2 Authors and Contributors 5 3 Licence 7 4 Support or Contact 9 5 Instalation

More information

Django File Picker Documentation

Django File Picker Documentation Django File Picker Documentation Release 0.5 Caktus Consulting Group LLC Oct 31, 2017 Contents 1 Dependencies 3 1.1 Required................................................. 3 1.2 Optional.................................................

More information

Django design patterns Documentation

Django design patterns Documentation Django design patterns Documentation Release 0.2 Agiliq and Contributors April 13, 2018 Contents 1 Chapters 3 1.1 Django Design Patterns......................................... 3 1.2 Urls....................................................

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

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

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

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

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

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

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

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

staff Documentation Release 1.2

staff Documentation Release 1.2 staff Documentation Release 1.2 me February 06, 2016 Contents 1 Goals 3 2 Contents 5 2.1 Getting Started.............................................. 5 2.2 Customizing StaffMember........................................

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

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

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

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

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-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

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

Flask-MongoEngine Documentation

Flask-MongoEngine Documentation Flask-MongoEngine Documentation Release 0.9.5 Ross Lawley Feb 16, 2018 Contents 1 Installing Flask-MongoEngine 3 2 Configuration 5 3 Custom Queryset 7 4 MongoEngine and WTForms 9 4.1 Supported fields.............................................

More information

django-baton Documentation

django-baton Documentation django-baton Documentation Release 1.3.1 abidibo Nov 05, 2018 Contents 1 Features 3 2 Getting started 5 2.1 Installation................................................ 5 2.2 Configuration...............................................

More information

Alpha College of Engineering and Technology. Question Bank

Alpha College of Engineering and Technology. Question Bank Alpha College of Engineering and Technology Department of Information Technology and Computer Engineering Chapter 1 WEB Technology (2160708) Question Bank 1. Give the full name of the following acronyms.

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

django-baton Documentation

django-baton Documentation django-baton Documentation Release 1.0.7 abidibo Nov 13, 2017 Contents 1 Features 3 2 Getting started 5 2.1 Installation................................................ 5 2.2 Configuration...............................................

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

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

TailorDev Contact Documentation

TailorDev Contact Documentation TailorDev Contact Documentation Release 0.3 Julien Maupetit November 06, 2013 Contents 1 Django TailorDev Contact 3 1.1 Dependencies............................................... 3 1.2 Installation................................................

More information

Django Groups Manager Documentation

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

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-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

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

Django Test Utils Documentation

Django Test Utils Documentation Django Test Utils Documentation Release 0.3 Eric Holscher July 22, 2016 Contents 1 Source Code 3 2 Contents 5 2.1 Django Testmaker............................................ 5 2.2 Django Crawler.............................................

More information

kiss.py Documentation

kiss.py Documentation kiss.py Documentation Release 0.3.3 Stanislav Feldman January 15, 2015 Contents 1 Contents 3 1.1 Overview................................................. 3 1.2 Installation................................................

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

Lotus IT Hub. Module-1: Python Foundation (Mandatory)

Lotus IT Hub. Module-1: Python Foundation (Mandatory) Module-1: Python Foundation (Mandatory) What is Python and history of Python? Why Python and where to use it? Discussion about Python 2 and Python 3 Set up Python environment for development Demonstration

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

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

Django-CSP Documentation

Django-CSP Documentation Django-CSP Documentation Release 3.0 James Socol, Mozilla September 06, 2016 Contents 1 Installing django-csp 3 2 Configuring django-csp 5 2.1 Policy Settings..............................................

More information

django-image-cropping Documentation

django-image-cropping Documentation django-image-cropping Documentation Release 1.1.0 Jonas und der Wolf Nov 06, 2017 Contents 1 Installation 3 2 Configuration 5 3 Admin Integration 7 4 Backends 9 5 Frontend 11 5.1 easy_thumbnails.............................................

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

django-ratelimit-backend Documentation

django-ratelimit-backend Documentation django-ratelimit-backend Documentation Release 1.2 Bruno Renié Sep 13, 2017 Contents 1 Usage 3 1.1 Installation................................................ 3 1.2 Quickstart................................................

More information

django-audiofield Documentation

django-audiofield Documentation django-audiofield Documentation Release 0.8.2 Arezqui Belaid Sep 27, 2017 Contents 1 Introduction 3 1.1 Overview................................................. 3 1.2 Usage...................................................

More information

Static Webpage Development

Static Webpage Development Dear Student, Based upon your enquiry we are pleased to send you the course curriculum for PHP Given below is the brief description for the course you are looking for: - Static Webpage Development Introduction

More information

django-autocomplete-light Documentation

django-autocomplete-light Documentation django-autocomplete-light Documentation Release 3.0.4 James Pic & contributors March 08, 2016 Contents 1 Features 1 2 Resources 3 3 Basics 5 3.1 Install django-autocomplete-light v3...................................

More information

Blue Form Builder extension for Magento2

Blue Form Builder extension for Magento2 Blue Form Builder extension for Magento2 User Guide Version 1.0 Table of Contents I) Introduction.. 4 II) Installation 5 III) General Configurations...6 IV) Manage Forms.. 7 1) List of Forms 7 2) Add New

More information

Programming for the Web with PHP

Programming for the Web with PHP Aptech Ltd Version 1.0 Page 1 of 11 Table of Contents Aptech Ltd Version 1.0 Page 2 of 11 Abstraction Anonymous Class Apache Arithmetic Operators Array Array Identifier arsort Function Assignment Operators

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

Course Title: Python + Django for Web Application

Course Title: Python + Django for Web Application Course Title: Python + Django for Web Application Duration: 6 days Introduction This course offer Python + Django framework ( MTV ) training with hands on session using Eclipse+Pydev Environment. Python

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

silk Documentation Release 0.3 Michael Ford

silk Documentation Release 0.3 Michael Ford silk Documentation Release 0.3 Michael Ford September 20, 2015 Contents 1 Quick Start 1 1.1 Other Installation Options........................................ 1 2 Profiling 3 2.1 Decorator.................................................

More information

PHP & PHP++ Curriculum

PHP & PHP++ Curriculum PHP & PHP++ Curriculum CORE PHP How PHP Works The php.ini File Basic PHP Syntax PHP Tags PHP Statements and Whitespace Comments PHP Functions Variables Variable Types Variable Names (Identifiers) Type

More information

Tangent MicroServices Documentation

Tangent MicroServices Documentation Tangent MicroServices Documentation Release 1 Tangent Solutions March 10, 2015 Contents 1 Getting Started 3 1.1 Micro Services Projects......................................... 3 2 Service Registry 5

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

Release notes for version 3.7.2

Release notes for version 3.7.2 Release notes for version 3.7.2 Important! Create a backup copy of your projects before updating to the new version. Projects saved in the new version can t be opened in versions earlier than 3.7. Breaking

More information

django-intranet Documentation

django-intranet Documentation django-intranet Documentation Release 0.2 Ionyse Nov 14, 2017 Contents 1 Abstract 1 2 Table of contents 3 2.1 Setup a new project............................................ 3 2.2 Create a new module...........................................

More information

django-session-security Documentation

django-session-security Documentation django-session-security Documentation Release 2.5.1 James Pic Oct 27, 2017 Contents 1 Why not just set the session to expire after X minutes? 3 2 How does it work? 5 3 Requirements 7 4 Resources 9 4.1

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

Back-end development. Outline. Example API: Chatter. 1. Design an example API for Chatter. Tiberiu Vilcu. https://education.github.

Back-end development. Outline. Example API: Chatter. 1. Design an example API for Chatter. Tiberiu Vilcu. https://education.github. Back-end development Tiberiu Vilcu Prepared for EECS 411 Sugih Jamin 13 September 2017 https://education.github.com/pack 1 2 Outline 1. Design an example API for Chatter 2. Create a DigitalOcean Droplet

More information

First Django Admin Documentation

First Django Admin Documentation First Django Admin Documentation Release 0.1 Investigative Reporters and Editors February 26, 2017 Contents 1 What you will make 3 2 About the authors 5 3 Prelude: Prerequisites 7 3.1 Command-line interface.........................................

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

REST. Web-based APIs

REST. Web-based APIs REST Web-based APIs REST Representational State Transfer Style of web software architecture that simplifies application Not a standard, but a design pattern REST Take all resources for web application

More information

django-modeltranslation Documentation

django-modeltranslation Documentation django-modeltranslation Documentation Release 0.12.2 Dirk Eschler Jul 02, 2018 Contents 1 Features 3 1.1 Project Home............................................... 3 1.2 Documentation..............................................

More information

CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB

CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB Unit 8 HTML Forms and Basic CGI Slides based on course material SFU Icons their respective owners 1 Learning Objectives In this unit you will

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

What is PHP? [1] Figure 1 [1]

What is PHP? [1] Figure 1 [1] PHP What is PHP? [1] PHP is an acronym for "PHP: Hypertext Preprocessor" PHP is a widely-used, open source scripting language PHP scripts are executed on the server PHP is free to download and use Figure

More information