Slide 1

Slide 1 text

django-forms-builder Stephen McDonald

Slide 2

Slide 2 text

About Me

Slide 3

Slide 3 text

● Developer since 1998 About Me

Slide 4

Slide 4 text

● Developer since 1998 ● PHP, ASP, ASP.NET, Rails About Me

Slide 5

Slide 5 text

● Developer since 1998 ● PHP, ASP, ASP.NET, Rails ● Python since 2005 (2.3) About Me

Slide 6

Slide 6 text

● Developer since 1998 ● PHP, ASP, ASP.NET, Rails ● Python since 2005 (2.3) ● Django since 2007 (0.96) About Me

Slide 7

Slide 7 text

● Developer since 1998 ● PHP, ASP, ASP.NET, Rails ● Python since 2005 (2.3) ● Django since 2007 (0.96) ● Currently Fairfax Media (Django at scale) About Me

Slide 8

Slide 8 text

Django Forms

Slide 9

Slide 9 text

● Beautiful API Django Forms

Slide 10

Slide 10 text

Django Forms

Slide 11

Slide 11 text

● Beautiful API ● But fixed in nature Django Forms

Slide 12

Slide 12 text

Scenario - Competitions

Slide 13

Slide 13 text

● Capture age and favourite colour Scenario - Competitions

Slide 14

Slide 14 text

Scenario - Competitions

Slide 15

Slide 15 text

● Capture age and favourite colour ● Capture file upload and 25 words Scenario - Competitions

Slide 16

Slide 16 text

Scenario - Competitions

Slide 17

Slide 17 text

Scenario - Competitions

Slide 18

Slide 18 text

● Capture age and favourite colour ● Capture file upload and 25 words ● Now we want each response emailed Scenario - Competitions

Slide 19

Slide 19 text

● Capture age and favourite colour ● Capture file upload and 25 words ● Now we want each response emailed ● Wait, too many emails - just CSV me Scenario - Competitions

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

django-forms-builder Let staff build their own damn forms

Slide 22

Slide 22 text

What's a Form?

Slide 23

Slide 23 text

● Title What's a Form?

Slide 24

Slide 24 text

● Title ● Intro text What's a Form?

Slide 25

Slide 25 text

● Title ● Intro text ● Response text What's a Form?

Slide 26

Slide 26 text

● Title ● Intro text ● Response text ● Email recipients What's a Form?

Slide 27

Slide 27 text

What's a Field?

Slide 28

Slide 28 text

● Name What's a Field?

Slide 29

Slide 29 text

● Name ● Type What's a Field?

Slide 30

Slide 30 text

● Name ● Type ● Default value What's a Field?

Slide 31

Slide 31 text

● Name ● Type ● Default value ● Mandatory What's a Field?

Slide 32

Slide 32 text

● Name ● Type ● Default value ● Mandatory ● Help text What's a Field?

Slide 33

Slide 33 text

● Name ● Type ● Default value ● Mandatory ● Help text ● Options What's a Field?

Slide 34

Slide 34 text

Demo Time

Slide 35

Slide 35 text

Advanced Features

Slide 36

Slide 36 text

● Export formats (HTML, CSV, XLS) Advanced Features

Slide 37

Slide 37 text

● Export formats (HTML, CSV, XLS) ● Email templates Advanced Features

Slide 38

Slide 38 text

● Export formats (HTML, CSV, XLS) ● Email templates ● Signals Advanced Features

Slide 39

Slide 39 text

● Export formats (HTML, CSV, XLS) ● Email templates ● Signals ● Template tags for embedding Advanced Features

Slide 40

Slide 40 text

● Export formats (HTML, CSV, XLS) ● Email templates ● Signals ● Template tags for embedding ● Dynamic defaults (request, user, session) Advanced Features

Slide 41

Slide 41 text

● Export formats (HTML, CSV, XLS) ● Email templates ● Signals ● Template tags for embedding ● Dynamic defaults (request, user, session) ● Associate to models Advanced Features

Slide 42

Slide 42 text

What's it Good For?

Slide 43

Slide 43 text

● Competitions What's it Good For?

Slide 44

Slide 44 text

● Competitions ● Surveys What's it Good For?

Slide 45

Slide 45 text

● Competitions ● Surveys ● Event RSVP What's it Good For?

Slide 46

Slide 46 text

● Competitions ● Surveys ● Event RSVP ● Boring contact form - scales down! What's it Good For?

Slide 47

Slide 47 text

Installation

Slide 48

Slide 48 text

● $ pip install django-forms-builder Installation

Slide 49

Slide 49 text

● $ pip install django-forms-builder ● Add to INSTALLED_APPS Installation

Slide 50

Slide 50 text

● $ pip install django-forms-builder ● Add to INSTALLED_APPS ● Add to urls.py Installation

Slide 51

Slide 51 text

Installation

Slide 52

Slide 52 text

● $ pip install django-forms-builder ● Add to INSTALLED_APPS ● Add to urls.py ● $ ./manage.py syncdb Installation

Slide 53

Slide 53 text

Get Involved

Slide 54

Slide 54 text

● GitHub or Bitbucket Get Involved

Slide 55

Slide 55 text

● GitHub or Bitbucket ● 20 contributors Get Involved

Slide 56

Slide 56 text

django-forms-builder Thanks! Questions? ● GitHub github.com/stephenmcd/django-forms-builder ● Bitbucket bitbucket.org/stephenmcd/django-forms-builder Stephen McDonald ● GitHub github.com/stephenmcd ● Twitter @stephen_mcd ● LinkedIn linkedin.com/in/stephenmcd