Skip to content

Commit

Permalink
Added 'Safety and security' section to docs/design_philosophies.txt
Browse files Browse the repository at this point in the history
git-svn-id: http://code.djangoproject.com/svn/django/trunk@1218 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information
adrianholovaty committed Nov 13, 2005
1 parent fdf2738 commit e70be11
Showing 1 changed file with 17 additions and 2 deletions.
19 changes: 17 additions & 2 deletions docs/design_philosophies.txt
Expand Up @@ -175,7 +175,9 @@ a common header, footer, navigation bar, etc. The Django template system should
make it easy to store those elements in a single place, eliminating duplicate make it easy to store those elements in a single place, eliminating duplicate
code. code.


This is the philosophy behind template inheritance. This is the philosophy behind `template inheritance`_.

.. _template inheritance: http://www.djangoproject.com/documentation/templates/#template-inheritance


Be decoupled from HTML Be decoupled from HTML
---------------------- ----------------------
Expand All @@ -197,7 +199,8 @@ Treat whitespace obviously


The template system shouldn't do magic things with whitespace. If a template The template system shouldn't do magic things with whitespace. If a template
includes whitespace, the system should treat the whitespace as it treats text includes whitespace, the system should treat the whitespace as it treats text
-- just display it. -- just display it. Any whitespace that's not in a template tag should be
displayed.


Don't invent a programming language Don't invent a programming language
----------------------------------- -----------------------------------
Expand All @@ -211,6 +214,18 @@ The goal is not to invent a programming language. The goal is to offer just
enough programming-esque functionality, such as branching and looping, that is enough programming-esque functionality, such as branching and looping, that is
essential for making presentation-related decisions. essential for making presentation-related decisions.


The Django template system recognizes that templates are most often written by
*designers*, not *programmers*, and therefore should not assume Python
knowledge.

Safety and security
-------------------

The template system, out of the box, should forbid the inclusion of malicious
code -- such as commands that delete database records.

This is another reason the template system doesn't allow arbitrary Python code.

Extensibility Extensibility
------------- -------------


Expand Down

0 comments on commit e70be11

Please sign in to comment.