web2py ссылка на CSS - PullRequest
       0

web2py ссылка на CSS

1 голос
/ 25 августа 2011

Я изучаю web2py 1.98.2, поэтому вопрос очень простой.В папке static / css я создал файл basic.css со следующим содержимым:

.auth_navbar {
  top: 0px;
  float: right;
  padding: 3px 10px 3px 10px; 
}

В layout.html у меня есть:

<head>
  ...
  {{response.files.append(URL('static','css/base.css'))}}
  ...
</head>
<body>
  ...
  {{try:}}{{=auth.navbar(action=URL('default','user'))}}{{except:pass}} 
  ...
</body>

Контроллер default.py имеет очень простой код:

def index(): return dict(message="hello people")

И, наконец, default / index.html выглядит следующим образом:

{{extend 'layout.html'}}
<h2>This is the default/index.html template</h2>
{{#=BEAUTIFY(response._vars)}}

Итак, я запускаю приложение и index.html отображается, как и ожидалось.Тем не менее, CSS не работает.Я ожидал следующую строку в источнике страницы:

<link href="/welcome/static/css/base.css" rel="stylesheet" type="text/css" /> 

но его там нет.Чего мне не хватает?

Ответы [ 2 ]

3 голосов
/ 25 августа 2011
{{response.files.append(URL('static','css/base.css'))}}

Приведенная выше строка просто добавляет base.css в список response.files.Тег <link> создается шаблоном web2py_ajax.html, который включен в файл layout.html по умолчанию.Итак, вы должны убедиться, что web2py_ajax.html также включен в ваш layout.html, и что base.css добавлен в response.files до этого.Итак:

{{response.files.append(URL('static','css/base.css'))}}
{{include 'web2py_ajax.html'}}

Обратите внимание, ваше первое предложение относится к basic.css, но ваш код ссылается на base.css - убедитесь, что вы используете правильное имя файла (web2py поставляется со своим собственным base.css).

1 голос
/ 25 августа 2011

Возможно, вы пропустили:

{{include}}

В тегах body вашего layout.html.

...