コード例 #1
0
ファイル: temba.py プロジェクト: azizur77/rapidpro
class LessBlockNode(template.Node):
    def __init__(self, nodelist):
        self.nodelist = nodelist

    def render(self, context):
        output = self.nodelist.render(context)
        includes = '@import (reference) "variables.less";\n'
        includes += '@import (reference, optional) "../brands/%s/less/variables.less";\n' % context["brand"]["slug"]
        includes += '@import (reference) "mixins.less";\n'
        style_output = '<style type="text/less" media="all">\n%s\n%s</style>' % (includes, output)
        return style_output


# register our tag
lessblock = register.tag(lessblock)


@register.filter
def to_json(value):
    """
    To use a python variable in JS, we call json.dumps to serialize as JSON server-side and reconstruct using
    JSON.parse. The serialized string must be escaped appropriately before dumping into the client-side code.

    https://stackoverflow.com/a/14290542
    """
    if type(value) != str:
        raise ValueError(f"Expected str got {type(value)} for to_json")

    escaped_output = escapejs(value)
コード例 #2
0
ファイル: angularjs.py プロジェクト: emilnakao/suzu2
DEALINGS IN THE SOFTWARE
"""
from django import template
from django.template.defaultfilters import register

"""
filename: angularjs.py

Usage:
	{% ng Some.angular.scope.content %}

e.g.
	{% load angularjs %}
	<div ng-init="yourName = 'foobar'">
		<p>{% ng yourName %}</p>
	</div>
"""

class AngularJS(template.Node):
    def __init__(self, bits):
        self.ng = bits

    def render(self, ctx):
        return "{{%s}}" % " ".join(self.ng[1:])

def do_angular(parser, token):
    bits = token.split_contents()
    return AngularJS(bits)

register.tag('ng', do_angular)