2010-05-21 28 views
6

Với chế độ xem có bố cục, làm cách nào tôi có thể tải các tệp tĩnh (CSS và JS, về cơ bản) vào đầu < đầu > từ tệp xem?Làm cách nào để tải các tệp tĩnh từ chế độ xem HTML trong web2py?

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> 

Trong ví dụ trên, "myview.css" tập tin hoặc là bỏ qua bởi web2py hoặc tước ra bởi trình duyệt.

Vậy cách tốt nhất để tải các tệp cụ thể theo trang như tệp CSS này là gì? Tôi không muốn tất cả các tệp tĩnh của tôi vào bố cục của tôi.

Trả lời

7

Trong myview.html đảo ngược hai dòng đầu tiên

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

tâm rằng 1.78.1 và 1.78.2 đã có một lỗi không cho phép này để làm việc. Nó đã được cố định trong 1,78,3 trong cùng một ngày. Phản hồi.file.append (...) cũng có thể được di chuyển trong hành động điều khiển cần nó. Bạn không được phép đặt logic trước khi mở rộng nhưng bạn xác định các biến được chuyển đến khung nhìn mở rộng.

+0

Hoàn hảo. Cảm ơn! – MikeWyatt

Các vấn đề liên quan