def nginxssi(parser, token): tokens = token.split_contents() # automatically generate key based on template code template_string = render_raw_template(parser, token, 'endnginxssi') cache_key = generate_ssi_cache_key(template_string) if cache_key not in cache: cache.set(cache_key, template_string) return NginxSSINode(cache_key)
def test_ssi_template_rendering(self): ssi_fragment = '<b> okidoki </b> {%now "jS F Y H:i"%} Hello {{foo}}' template_string = """ {% load nginxssi_tags %} {% nginxssi %}""" + ssi_fragment + """{% endnginxssi %} """ template = Template(template_string) context = Context({'foo': 'bar'}) template_response = template.render(context) cache_key = generate_ssi_cache_key(ssi_fragment) self.assertTrue('<!--# include virtual="/nginxssi/%s/" -->' % cache_key \ in template_response) client = Client() response = client.get(reverse('nginxssi',args=(cache_key,))) template = Template(ssi_fragment) self.assertEquals(response.content.strip(), template.render(context).strip())