Как загрузить статические файлы из представления HTML в web2py?

Высказанный мнение с расположением, как я могу загрузить статические файлы (CSS и JS, по существу) в <голова> из файла представления?

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? Я не наполнил бы все свои статические файлы в мое расположение.

6
задан MikeWyatt 21 May 2010 в 01:45
поделиться

1 ответ

В 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 (...) также можно переместить в действие контроллера, которому он нужен. Вы не должны помещать логику перед расширением, но вы определяете переменные, которые будут передаваться в расширенное представление.

7
ответ дан 17 December 2019 в 00:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: