X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=engine%2Fprelude.py;h=bf5e0a911092307365d0ad7f478a9434d4359137;hb=5168df3527056a01fa0ba11d4f40e9039350808f;hp=6be644153aaa2ed1d9b9dffe70a7de50a3df97e0;hpb=80bed4d9f0a68e0944d291c65f749ce3f8f9cd2d;p=unfold.git diff --git a/engine/prelude.py b/engine/prelude.py index 6be64415..bf5e0a91 100644 --- a/engine/prelude.py +++ b/engine/prelude.py @@ -1,5 +1,7 @@ from types import StringTypes, ListType +from django.template.loader import render_to_string + class Prelude: """A class for collecting dependencies on js/css files or fragments""" @@ -29,10 +31,29 @@ class Prelude: def add_css_chunks (self, x): self.css_chunks += Prelude._normalize (x) + # first attempt was to use a simple dict like this + # env={} + # env['js_files']= self.js_files + # env['css_files']= self.css_files + # env['js_chunks']= '\n'.join(self.js_chunks) + # env['css_chunks']='\n'.join(self.css_chunks) + # return env + # together with this in layout-myslice.html + # {% for js_file in js_files %} {% insert_str prelude js_file %} {% endfor %} + # {% for css_file in css_files %} {% insert_str prelude css_file %} {% endfor %} + # somehow however this would not work too well, + # probably insert_above is not powerful enough to handle that + # + # so a much simpler and safer approach is for use to compute the html header directly def render_env (self): env={} env['js_files']= self.js_files env['css_files']= self.css_files - env['js_chunks']= '\n'.join(self.js_chunks) - env['css_chunks']='\n'.join(self.css_chunks) - return env + env['js_chunks']= self.js_chunks + env['css_chunks']=self.css_chunks + # not sure how this should be done more cleanly + from myslice.settings import STATIC_URL + env ['STATIC_URL'] = STATIC_URL + # render this with prelude.html and put the result in header_prelude + header_prelude = render_to_string ('header-prelude.html',env) + return { 'header_prelude' : header_prelude }