forked from lethain/aym-cms
-
Notifications
You must be signed in to change notification settings - Fork 81
Code Examples
Psycojoker edited this page Jul 24, 2011
·
10 revisions
- Storing CONTEXT-entities in YAML-files
- Django: Sorted looping over dictionaries
- Installing new Django apps and filters
In this example, data resides in ROOTPATH/data/stuff.yaml. It is read in settings.py and can then be used in all your templates and documents.
stuff.yaml:
-
name: "table"
price: "100$"
-
name: "chair"
price: "30$"
settings.py:
import yaml
DATA_PATH = ROOT_PATH + "/data"
CONTEXT['stuff'] = yaml.load( open(DATA_PATH + "/stuff.yaml") )
layout_example.html:
{% extends "skeleton/_body.html" %}
{% block content_body %}
{% for item in stuff %}
<p>A {{item.name}} is worth {{item.price}}.</p>
{% endfor %}
{% endblock %}
This is not hyde-specific, but a general Django issue. Suppose you have a dictionary of name abbrevs and full names
presidents = {
'gebush': {'forename': 'George', 'surname': 'Bush'},
'baobam': {'forename': 'Barack', 'surname': 'Obama'},
'biclin': {'forename': 'Bill', 'surname': 'Clinton'},
}
Now, suppose you want to loop over the dictionary while sorting by surnames. Use the following Django template code:
{% for president in presidents.values|dictsort:"surname" %}
{{president.forename}} {{president.surname}}
{% endfor %}
In this example we want to obfuscate e-mail addresses with ROT13. It is as simple as that
- create a dir
django/
in your hyde directory - create the empty files
django/mailobfuscate/__init__.py
anddjango/mailobfuscate/templatetags/__init__.py
- Install the mail obfuscation snippet to
django/mailobfuscate/templatetags/mailobfuscate.py
- add to your
settings.py
import sys DJANGO_PATH = os.path.join(ROOT_PATH, "django") sys.path.append(DJANGO_PATH)
- Add to INSTALLED_APPS in
settings.py
INSTALLED_APPS = ( 'hydeengine', 'django.contrib.webdesign', 'mailobfuscate', )
- In your content HTML file simply use
{% load mailobfuscate %}{% filter obfuscate %}bla
blubb.org{% endfilter %}@