Django. Jinja2. Aymeric Augustin DjangoCong 2016
|
|
- Alexandrina Summers
- 6 years ago
- Views:
Transcription
1 Django Jinja2 Aymeric Augustin DjangoCong 2016 Jardin des Plantes, Avranches, 9 avril 2016
2 I m Aymeric Amalfi Core Developer since 2011 Chief Technical Officer since 2015 Time zones Python 3 Transactions App loading Jinja2 First peer-to-peer insurance broker in France We re hiring! 2
3 Why Jinja2? Aren t Django templates just fine? 3
4 Jinja2 is fast x faster than Django templates. 4 Image from
5 Django templates are slow x slower than Jinja2. 5 Image from
6 Let s try it on the fractalideas.com home page! >>> import statistics, timeit >>> setup = \... "from django.template.loader import render_to_string" >>> round(statistics.median(timeit.repeat(... "render_to_string('home.html', using='django')",... setup, repeat=10, number=1000)), 2) 1.18 # ms >>> round(statistics.median(timeit.repeat(... "render_to_string('home.html', using='jinja2')",... setup, repeat=10, number=1000)), 2) 0.35 # ms 6
7 Let s try it on the fractalideas.com home page! More than three times faster! Not even a millisecond faster. Page loads 0.004% faster with a cold cache. 7
8 Let s try it on the fractalideas.com home page! More than three times faster! Not even a millisecond faster. Page loads 0.02% faster with a warm cache. 8
9 Template rendering speed (often) doesn t matter Light content? Anything is fast enough Heavy static content? Pre-render & cache it Heavy dynamic content? Render in the browser If you re thinking about switching template languages, consider both server-side and client-side options (React) Until you ve optimized everything else, templates are unlikely to be a bottleneck 9
10 Why Jinja2? Aren t Django templates just fine? 10
11 Jinja2 is a modern and designer-friendly templating language for Python, modelled after Django s templates. 11
12 Advantages of Jinja2 More comfortable for developers Django expects templates to be written by designers Easier to customize Try writing a Django template tag without the docs Meaningfully faster in some use cases Template-based widget rendering (#15667) 12
13 Drawbacks of Jinja2 Less common than Django templates Many authors of pluggable apps don t know where to start (yet) Targets experienced developers Docs suggest handling escaping manually for performance Scoping behavior for included blocks is declarative etc. 13
14 Features of Jinja2 from its docs homepage sandboxed execution powerful automatic HTML escaping system for XSS prevention template inheritance compiles down to the optimal python code just in time optional ahead-of-time template compilation easy to debug ( ) configurable syntax sounds important (to me) 14
15 Jinja2 is a templating language for Python designed for experienced developers, modelled after Django s templates. paraphrased from 15
16 Third-party solutions Coffin ( reborn in 2015) Alternative APIs such as render() Jingo (2010) Template loader (class-based API since Django 1.2) Django-Jinja (2012) More opinionated and full-featured template loader 16
17 Templates in Django < 1.8 Discussed for historical purposes only these versions are unsupported! 17
18 Django < Rendering a template # django/template/loaders.py (simplified) def render_to_string(template_name, dictionary): template = get_template(template_name, dirs) context = Context(dictionary) return template.render(context) 18
19 Django < Rendering a template # django/template/loaders.py (simplified) def get_template(template_name): template, origin = find_template(template_name) return Template(template, origin, template_name) 19
20 Django < Rendering a template # django/template/loaders.py (simplified) def find_template(name, dirs=none): global template_source_loaders if template_source_loaders is None:... # init from settings.template_loaders for loader in template_source_loaders:... # try loading with loader(name) raise TemplateDoesNotExist(name) global configuration 20
21 Django < Actually rendering a template # django/shortcuts.py (drastically simplified) def render(request, template_name, dictionary): template = get_template(template_name, dirs) context = RequestContext(request, dictionary) return HttpResponse(template.render(context)) strong coupling 21
22 Context processors are a poor API How many context processors depend on request? Aside from the request context processor, that is. How hard is it to make a context processor lazy? In order to avoid overhead in templates that don t need it. Just an API for {{ global_func(request) }}? Django templates cannot call functions with arguments. 22
23 Multiple templates engines in Django 1.8 If templates weren t boring, they d have been fixed earlier. 23
24 24
25 25
26 26
27 Plan 1. Write a Django Enhancement Proposal (DEP) Lots of reading; some writing 2. Refactor Django templates as a library (optional) Actually not optional 3. Implement the DEP Sounds easy 27
28 Concept django.template.* django.template.loader d.t.backends.django django.template.* d.t.backends.jinja2 jinja2 28
29 this project avoids encoding the legacy of the Django template language in APIs DEP
30 Jinja2 for Djangonauts Wake up this is the just do this section. 30
31 Install Jinja2 $ pip install jinja2 31
32 Define a Jinja2 environment # project/jinja2.py from jinja2 import Environment def environment(**options): options.setdefault('extensions', []).extend([...]) env = Environment(**options) env.filters.update({... }) env.globals.update({... }) env.tests.update({... }) return env 32
33 Install translations (optional) # project/jinja2.py from django.utils import translation def environment(**options): #... env.install_gettext_translations(translation, newstyle=true) #... return env 33
34 Point the TEMPLATES setting to the environment TEMPLATES = [{ 'BACKEND': 'django.template.backends' '.jinja2.jinja2', 'DIRS': [os.path.join(base_dir, 'templates')], 'OPTIONS': { 'environment': 'project.jinja2.environment', }, }, { 'BACKEND': 'django.template.backends' '.django.djangotemplates', 'APP_DIRS': True, }] 34
35 Globals # project/jinja2.py from django.core.urlresolvers import reverse env.globals.update({ }) 'url': reverse, # templates/header.html {{ url('account_login') }} 35
36 Filters # project/jinja2.py from urllib.parse import quote env.filters.update({ }) 'urlquote': quote, # templates/header.html?next={{ request.get_full_path() urlquote }} 36
37 Tests # project/jinja2.py from django.utils.timezone import is_aware env.tests.update({ }) 'aware': is_aware, # templates/datetime.html {% if at is aware %}{{ at.tzname() }}{% endif %} 37
38 Extensions # project/jinja2.py options.setdefault('extensions', []).extend([ 'jinja2.ext.i18n', ]) # or, alternatively: env.add_extension('jinja2.ext.i18n') # templates/header.html {{ gettext("log in") }} 38
39 Jinja2 tips You can go back to sleep the slides will be online. 39
40 Calling methods # Django templates {{ qotd }} # Jinja2 {{ qotd() }} 40
41 Inserting the CSRF token in a form # Django templates {% csrf_token %} # Jinja2 {{ csrf_input }} # Both <input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}" /> 41
42 Replacing a context processor # project/jinja2.py from django.contrib.messages import get_messages env.globals.update({ }) 'get_messages': get_messages, 42
43 Replacing a context processor # templates/header.html {% for message in get_messages(request) %} <div>{{ message }}</div> {% endfor %} 43
44 Replacing a context processor - alternative # project/jinja2.py from django.contrib.messages import def _get_messages(context): return get_messages(context['request']) env.globals.update({ }) 'get_messages': _get_messages, 44
45 Replacing a context processor - alternative # templates/header.html {% for message in get_messages() %} <div>{{ message }}</div> {% endfor %} 45
46 Replacing a template tag # spam/templatetags.py from django import template register = def eat_spam(context, arg1, arg2): #... return html 46
47 Replacing a template tag # templates/spam.html {% load spam %} {% eat_spam arg1 arg2 %} 47
48 Replacing a template tag # def eat_spam(context, arg1, arg2): #... return html # and register it in env.globals as shown above. 48
49 Replacing a template tag # templates/spam.html {{ eat_spam(arg1, arg2) }} 49
50 Most extensions only add globals # eat/jinja2.py class EatExtension(Extension): def init (self, env): env.globals['eat'] = {'spam': eat_spam} # templates/eat.html {{ eat.spam() }} 50
51 Thank you! Questions? Estuaire de la Sée, Avranches, 9 avril 2016
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 informationLet s Talk About Templates. Armin
Let s Talk About Templates Armin Ronacher @mitsuhiko Templates why are we discussing templates in 2014? In 2011 we all thought single page applications are the future Cloud Performance > Phone Performance
More informationLECTURE 14. Web Frameworks
LECTURE 14 Web Frameworks WEB DEVELOPMENT CONTINUED Web frameworks are collections of packages or modules which allow developers to write web applications with minimal attention paid to low-level details
More informationThe 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 informationFlask Web Development Course Catalog
Flask Web Development Course Catalog Enhance Your Contribution to the Business, Earn Industry-recognized Accreditations, and Develop Skills that Help You Advance in Your Career March 2018 www.iotintercon.com
More informationdjango-notifier Documentation
django-notifier Documentation Release 0.7 Siddharth Doshi August 19, 2014 Contents 1 Dependecies 3 2 Contents 5 2.1 Installation & Setup........................................... 5 2.2 Quickstart................................................
More informationDjango Debug Toolbar Documentation
Django Debug Toolbar Documentation Release 0.11 Rob Hudson, Jannis Leidel, David Cramer, Aymeric Augustin and November 11, 2013 Contents i ii CHAPTER 1 Installation 1. The recommended way to install the
More informationDjango_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 informationDjango-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 informationQuick 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 informationnacelle Documentation
nacelle Documentation Release 0.4.1 Patrick Carey August 16, 2014 Contents 1 Standing on the shoulders of giants 3 2 Contents 5 2.1 Getting Started.............................................. 5 2.2
More informationdjango-subdomains Documentation
django-subdomains Documentation Release 2.1.0 ted kaemming April 29, 2016 Contents 1 Installation 3 2 Quick Start 5 2.1 Example Configuration.......................................... 5 3 Basic Usage
More informationCSE 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 informationLECTURE 14. Web Frameworks
LECTURE 14 Web Frameworks WEB DEVELOPMENT CONTINUED Web frameworks are collections of packages or modules which allow developers to write web applications with minimal attention paid to low-level details
More informationdjango-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 informationDjango with Python Course Catalog
Django with Python Course Catalog Enhance Your Contribution to the Business, Earn Industry-recognized Accreditations, and Develop Skills that Help You Advance in Your Career March 2018 www.iotintercon.com
More informationDjango 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 informationDjango QR Code Documentation
Django QR Code Documentation Release 0.3.3 Philippe Docourt Nov 12, 2017 Contents: 1 Django QR Code 1 1.1 Installation................................................ 1 1.2 Usage...................................................
More informationBuilding Web Applications
Building Web Applications Ambient intelligence Fulvio Corno Politecnico di Torino, 2017/2018 Goal Create simple web applications In Python For interactive interfaces For server-side components Learn a
More informationDjango: 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 informationdjango-debreach Documentation
django-debreach Documentation Release 1.4.1 Luke Pomfrey October 16, 2016 Contents 1 Installation 3 2 Configuration 5 2.1 CSRF token masking (for Django < 1.10)................................ 5 2.2 Content
More informationdjango-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 informationHOW TO FLASK. And a very short intro to web development and databases
HOW TO FLASK And a very short intro to web development and databases FLASK Flask is a web application framework written in Python. Created by an international Python community called Pocco. Based on 2
More informationwelcome 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 informationwagtailmenus 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 informationCIS192 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 informationAmyyon customers can t wait to get their hands on it s new application, developed in Uniface.
customers can t wait to get their hands on it s new application, developed in Uniface. 1 CUSTOMER SECTOR Information Technology COUNTRY Netherlands CHALLENGE Migrate the rich functionality of a client/server
More informationDjango 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 informationThe Pyramid Web Application Development Framework
The Pyramid Web Application Development Framework www.pylonsproject.org Martin Geisler Dealini July 4th, 2013 1 / 20 Outline Introduction Handling a Request Routes Views Renderers Mako Templates Conclusion
More information"Stupid Easy" Scaling Tweaks and Settings. AKA Scaling for the Lazy
"Stupid Easy" Scaling Tweaks and Settings AKA Scaling for the Lazy I'm Lazy (and proud of it) The Benefits of "Lazy" Efficiency is king Dislike repetition Avoid spending a lot of time on things A Lazy
More informationDjango 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 informationdjango-sticky-uploads Documentation
django-sticky-uploads Documentation Release 0.2.0 Caktus Consulting Group October 26, 2014 Contents 1 Requirements/Installing 3 2 Browser Support 5 3 Documentation 7 4 Running the Tests 9 5 License 11
More informationCS61A Notes Week 13: Interpreters
CS61A Notes Week 13: Interpreters Read-Eval Loop Unlike Python, the result of evaluating an expression is not automatically printed. Instead, Logo complains if the value of any top-level expression is
More informationdjango-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 informationUnifer Documentation. Release V1.0. Matthew S
Unifer Documentation Release V1.0 Matthew S July 28, 2014 Contents 1 Unifer Tutorial - Notes Web App 3 1.1 Setting up................................................. 3 1.2 Getting the Template...........................................
More informationflask-jwt-simple Documentation
flask-jwt-simple Documentation Release 0.0.3 vimalloc rlam3 Nov 17, 2018 Contents 1 Installation 3 2 Basic Usage 5 3 Changing JWT Claims 7 4 Changing Default Behaviors 9 5 Configuration Options 11 6 API
More informationThese are notes for the third lecture; if statements and loops.
These are notes for the third lecture; if statements and loops. 1 Yeah, this is going to be the second slide in a lot of lectures. 2 - Dominant language for desktop application development - Most modern
More informationdjango-stored-messages Documentation
django-stored-messages Documentation Release 1.4.0 evonove Nov 10, 2017 Contents 1 Features 3 2 Compatibility table 5 3 Contents 7 3.1 Installation................................................ 7 3.2
More informationEasy-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 informationdjango-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 informationDjango-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 informationPluggable Patterns. For Reusable Django Applications
Pluggable Patterns For Reusable Django Applications Project Project Configuration URL routing Templates Project Application Application Application Application Application Application Application Application
More informationmicawber Documentation
micawber Documentation Release 0.3.4 charles leifer Nov 29, 2017 Contents 1 examples 3 2 integration with web frameworks 5 2.1 Installation................................................ 5 2.2 Getting
More informationApplication Design and Development: October 30
M149: Database Systems Winter 2018 Lecturer: Panagiotis Liakos Application Design and Development: October 30 1 Applications Programs and User Interfaces very few people use a query language to interact
More informationBricks Documentation. Release 1.0. Germano Guerrini
Bricks Documentation Release 1.0 Germano Guerrini January 27, 2015 Contents 1 Requirements 3 2 Contents 5 2.1 Getting Started.............................................. 5 2.2 Basic Usage...............................................
More informationTailorDev 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 informationdjango-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 informationWeb Security IV: Cross-Site Attacks
1 Web Security IV: Cross-Site Attacks Chengyu Song Slides modified from Dawn Song 2 Administrivia Lab3 New terminator: http://www.cs.ucr.edu/~csong/sec/17/l/new_terminator Bonus for solving the old one
More informationBuilding 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 informationalphafilter 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 informationWeek - 01 Lecture - 04 Downloading and installing Python
Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and
More informationdjango-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 informationDJOAuth2 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 informationdjango-ad-code Documentation
django-ad-code Documentation Release 1.0.0 Mark Lavin Apr 21, 2018 Contents 1 Installation 3 2 Documentation 5 3 License 7 4 Contributing 9 5 Contents 11 5.1 Getting Started..............................................
More informationweb.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 informationCS1520 Recitation: Security in Flask
CS1520 Recitation: Security in Flask Jeongmin Lee Slide contents based on a post by Damyan Bogoev at: https://damyanon.net/post/flask-series-security/ Plan for Today XSS (Cross Site Scripting) CSRF (Cross-Site
More informationLesson: Web Programming(6) Omid Jafarinezhad Sharif University of Technology
Lesson: Web Programming(6) Omid Jafarinezhad Sharif University of Technology React QUICK START QUICK START ADVANCED GUIDES React QUICK START Installation Hello World Introducing JSX Components and Props
More informationRelease 0.8. Repoze Developers
pyramid b eakerdocumentation Release 0.8 Repoze Developers July 04, 2015 Contents 1 Overview 1 2 Installation 3 3 Setup 5 4 Usage 7 4.1 Session management........................................... 7
More informationTo Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry. Tony Erwin,
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry Tony Erwin, aerwin@us.ibm.com Agenda Origins of the Bluemix UI Demons of the Monolith Slaying Demons with
More informationDjango Better Cache Documentation
Django Better Cache Documentation Release 0.7.0 Calvin Spealman February 04, 2016 Contents 1 Table of Contents 3 1.1 bettercache template tags......................................... 3 1.2 CacheModel...............................................
More informationProgramming Robots with ROS, Morgan Quigley, Brian Gerkey & William D. Smart
Programming Robots with ROS, Morgan Quigley, Brian Gerkey & William D. Smart O Reilly December 2015 CHAPTER 23 Using C++ in ROS We chose to use Python for this book for a number of reasons. First, it s
More informationdjango-celery Documentation
django-celery Documentation Release 2.5.5 Ask Solem Nov 19, 2017 Contents 1 django-celery - Celery Integration for Django 3 1.1 Using django-celery........................................... 4 1.2 Documentation..............................................
More informationwagtailmenus Documentation
wagtailmenus Documentation Release 2.11 Andy Babic Aug 02, 2018 Contents 1 Full index 3 1.1 Overview and key concepts....................................... 3 1.1.1 Better control over top-level menu
More informationIntro. Scheme Basics. scm> 5 5. scm>
Intro Let s take some time to talk about LISP. It stands for LISt Processing a way of coding using only lists! It sounds pretty radical, and it is. There are lots of cool things to know about LISP; if
More informationEXPERIENCES MOVING FROM DJANGO TO FLASK
EXPERIENCES MOVING FROM DJANGO TO FLASK DAN O BRIEN, VP OF ENGINEERING CRAIG LANCASTER, CTO Jana Mobile Inc. www.jana.com WHO WE ARE Jana is a startup company in Boston connecting advertising and marketing
More informationQ2D8T#YH# BYUQTUQ+ *")#+,-./,01#2../,345,67#869,3#47:#+5;<35<;=!"""""""""""# $& B675;6//=;#CD/645E!
A Publication of Q2D8T#YH# BYUQTUQ+!"#$%&'()*+&,(%!"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""# $% -"#.%&,/01&&2'%3#4#523(6*&,(% """"""""""""""""""""""""""""""""""""# $& *")#+,-./,01#2../,345,67#869,3#47:#+5;
More informationSimple AngularJS thanks to Best Practices
Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it
More information29-27 May 2013 CERN WEB FRAMEWORKS. Adrian Mönnich
First Indico Workshop 29-27 May 2013 CERN WEB FRAMEWORKS Adrian Mönnich Framework? What? Do we have one? Do we need one? A web application framework is a software framework that is designed to support
More informationCIS192 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 informationWeb 2.0 and AJAX Security. OWASP Montgomery. August 21 st, 2007
Web 2.0 and AJAX Security OWASP Montgomery August 21 st, 2007 Overview Introduction Definition of Web 2.0 Basics of AJAX Attack Vectors for AJAX Applications AJAX and Application Security Conclusions 1
More informationdjango-cms-search Documentation
django-cms-search Documentation Release 0.6.2 Divio GmbH February 04, 2016 Contents 1 Requirements 3 2 Usage 5 2.1 Customizing the Index.......................................... 5 3 Helpers 7 3.1 {%
More informationwagtailtrans 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 informationCSE : Python Programming. Decorators. Announcements. The decorator pattern. The decorator pattern. The decorator pattern
CSE 399-004: Python Programming Lecture 12: Decorators April 9, 200 http://www.seas.upenn.edu/~cse39904/ Announcements Projects (code and documentation) are due: April 20, 200 at pm There will be informal
More informationHTML 5: Fact and Fiction Nathaniel T. Schutta
HTML 5: Fact and Fiction Nathaniel T. Schutta Who am I? Nathaniel T. Schutta http://www.ntschutta.com/jat/ @ntschutta Foundations of Ajax & Pro Ajax and Java Frameworks UI guy Author, speaker, teacher
More informationPrivacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras
Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 07 Tutorial 2 Part 1 Facebook API Hi everyone, welcome to the
More informationAnalysis of Hypertext Isolation Techniques for Cross-site Scripting Prevention. Mike Ter Louw Prithvi Bisht V.N. Venkatakrishnan
Analysis of Hypertext Isolation Techniques for Cross-site Scripting Prevention Mike Ter Louw Prithvi Bisht V.N. Venkatakrishnan Outline Motivation Hypertext isolation Design challenges Conclusion Quote
More informationBOOSTING THE SECURITY OF YOUR ANGULAR 2 APPLICATION
BOOSTING THE SECURITY OF YOUR ANGULAR 2 APPLICATION Philippe De Ryck NG-BE Conference, December 9 th 2016 https://www.websec.be ABOUT ME PHILIPPE DE RYCK My goal is to help you build secure web applications
More informationCascading Style Sheets for layout II CS7026
Cascading Style Sheets for layout II CS7026 Understanding CSS float The CSS float property is also a very important property for layout. It allows you to position your Web page designs exactly as you want
More informationWeb Security: Vulnerabilities & Attacks
Computer Security Course. Web Security: Vulnerabilities & Attacks Type 2 Type 1 Type 0 Three Types of XSS Type 2: Persistent or Stored The attack vector is stored at the server Type 1: Reflected The attack
More informationDjango Wordpress API Documentation
Django Wordpress API Documentation Release 0.1.0 Swapps Jun 28, 2017 Contents 1 Django Wordpress API 3 1.1 Documentation.............................................. 3 1.2 Quickstart................................................
More informationdjango-amp-tools Documentation Release latest
django-amp-tools Documentation Release latest February 07, 2017 Contents 1 Installation 3 2 Usage 5 2.1 Usage app................................................ 5 3 Contributing 9 4 Source code and contacts
More informationgocept.selenium Release 3.0
gocept.selenium Release 3.0 Feb 12, 2018 Contents 1 Environment variables 3 2 Jenkins integration 5 3 Tips & Tricks 7 3.1 Using a custom Firefox profile...................................... 7 3.2 Using
More informationdjango-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 informationdjango-dajaxice Documentation
django-dajaxice Documentation Release 0.7 Jorge Bastida Nov 17, 2017 Contents 1 Documentation 3 1.1 Installation................................................ 3 1.2 Quickstart................................................
More informationIntroduction to Programming in C Department of Computer Science and Engineering. Lecture No. #13. Loops: Do - While
Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #13 Loops: Do - While So far we have been using while loops in C, now C programming language also provides you
More informationClient Side JavaScript and AJAX
Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is
More informationWakanda Architecture. Wakanda is made up of three main components: Wakanda Server Wakanda Studio Wakanda Client Framework
Wakanda Architecture Wakanda is made up of three main components: Wakanda Server Wakanda Studio Wakanda Client Framework Note: For a more general overview of Wakanda, please see What is Wakanda?) Wakanda
More informationpreppy Documentation Release ReportLab
preppy Documentation Release 2.5.0 ReportLab Dec 25, 2017 Contents 1 Why another templating system? 3 2 Quick Start 5 3 Template syntax 7 4 Module import options 11 4.1 File system semantics..........................................
More information4. Java Project Design, Input Methods
4-1 4. Java Project Design, Input Methods Review and Preview You should now be fairly comfortable with creating, compiling and running simple Java projects. In this class, we continue learning new Java
More informationdjango-embed-video Documentation
django-embed-video Documentation Release 0.6.stable Juda Kaleta October 04, 2013 CONTENTS i ii Django app for easy embeding YouTube and Vimeo videos and music from SoundCloud. Repository is located on
More informationConsolidation and Review
Consolidation and Review Professor Hugh C. Lauer CS-1004 Introduction to Programming for Non-Majors (Slides include materials from Python Programming: An Introduction to Computer Science, 2 nd edition,
More informationDjango 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 informationSenior Technical Specialist, IBM. Charles Price (Primary) Advisory Software Engineer, IBM. Matthias Falkenberg DX Development Team Lead, IBM
Session ID: DDX-15 Session Title: Building Rich, OmniChannel Digital Experiences for Enterprise, Social and Storefront Commerce Data with Digital Data Connector Part 2: Social Rendering Instructors: Bryan
More informationAccelerating 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 informationDjango 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 informationdjango-report-tools Documentation
django-report-tools Documentation Release 0.2.1 Evan Brumley Jul 20, 2017 Contents 1 Contents 3 1.1 Getting Started.............................................. 3 1.2 Charts...................................................
More informationdjango-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 informationdjango-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 informationLotus 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 informationdjango-precise-bbcode Documentation
django-precise-bbcode Documentation Release 1.0.x Morgan Aubert Aug 12, 2018 Contents 1 Features 3 2 Using django-precise-bbcode 5 2.1 Getting started.............................................. 5 2.2
More information