2010-05-21 8 views
6

लेआउट के साथ एक दृश्य को देखते हुए, मैं दृश्य फ़ाइल से < हेड > में स्थिर फ़ाइलों (सीएसएस और जेएस, अनिवार्य रूप से) कैसे लोड कर सकता हूं?वेब 2py में एचटीएमएल देखने से स्थिर फाइलों को कैसे लोड करें?

layout.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{=T.accepted_language or 'en'}}"> 
    <head> 
     <title>{{=response.title or request.application}}</title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
     <!-- include requires CSS files 
     {{response.files.append(URL(request.application,'static','base.css'))}} 
     {{response.files.append(URL(request.application,'static','ez-plug-min.css'))}} 
     --> 
     {{include 'web2py_ajax.html'}} 
    </head> 
    <body> 
     {{include}} 
    </body> 
</html> 

myview.html

{{extend 'layout.html'}} 
{{response.files.append(URL(r=request,c='static',f='myview.css'))}} 

<h1>Some header</h1> 
<div> 
    some content 
</div> 

उपरोक्त उदाहरण में, "myview.css" फ़ाइल या तो web2py द्वारा नजरअंदाज कर दिया या द्वारा छीन लिया जाता है ब्राउज़र।

तो इस सीएसएस फ़ाइल की तरह पेज-विशिष्ट फ़ाइलों को लोड करने का सबसे अच्छा तरीका क्या है? मैं अपने सभी स्थिर फाइलों को अपने लेआउट में नहीं रखूंगा।

उत्तर

7

में myview.html पहले दो लाइनों

{{response.files.append(URL(r=request,c='static',f='myview.css'))}} 
{{extend 'layout.html'}} 

1.78.1 और 1.78.2 था मन है कि एक बग यह काम करने के लिए अनुमति नहीं दी रिवर्स। यह उसी दिन 1.78.3 में तय किया गया था। Respond.file.append (...) को नियंत्रक क्रिया में भी स्थानांतरित किया जा सकता है जिसकी आवश्यकता है। आपको विस्तार से पहले तर्क डालना नहीं है, लेकिन आप विस्तारित दृश्य को पारित करने के लिए चर परिभाषित करते हैं।

+0

बिल्कुल सही। धन्यवाद! – MikeWyatt

संबंधित मुद्दे