gpt4 book ai didi

view - 如何从 web2py 中的 View HTML 加载静态文件?

转载 作者:行者123 更新时间:2023-12-04 14:52:29 28 4
gpt4 key购买 nike

给定一个带有布局的 View ,如何将静态文件(本质上是 CSS 和 JS)从 View 文件加载到 中?

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 忽略,要么被浏览器剥离。

那么加载像这个 CSS 文件这样的页面特定文件的最佳方法是什么?我宁愿不把我所有的静态文件都塞进我的布局中。

最佳答案

在 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。 response.file.append(...) 也可以在需要它的 Controller 操作中移动。您不应该在扩展之前放置逻辑,而是定义要传递给扩展 View 的变量。

关于view - 如何从 web2py 中的 View HTML 加载静态文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2879098/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com