У меня есть приложение Pyramid, которое я разрабатывал и просматривал локально через http://localhost:6543
, что и предлагают документы для пастеров.Существуют различные ресурсы, например, .css
файлы, доступные в каталоге static
, которые я сделал доступными через config.add_static_view('static','static')
Когда я просматриваю его через localhost
, все работает нормально, мои файлы .css загружаются, и всехорошо.Однако, когда я просматриваю приложение через имя хоста / IP-адрес моего компьютера, статические ресурсы не загружаются.
Недавно установленная платформа Pyramid paster отображает то же поведение.Я прошел и следовал описательной документации Pyramid на этапе , просматривая приложение , и все работает, как описано.Но измените URL в строке адреса с http://localhost:6543
на http://my.host.name:6543
, и таблицы стилей не будут загружены.
Активы доступны;наберите http://my.host.name:6543/static/pylons.css
на только что созданной платформе Pyramid paster и вы можете прочитать содержимое css, но оно не загружается при загрузке корневой страницы.Firebug указывает, что эти ресурсы запрашиваются, но никогда не принимаются.
Что здесь происходит, и как я могу убедиться, что мои статические активы загружаются, когда я запрашиваю их через что-то, кроме localhost
?
Редактировать , чтобы добавитьнекоторый код.Это из подмостей под пирамиду starter
, которые я не модифицировал и которые демонстрируют то же поведение, что и мое приложение;это можно считать минимальным примером.
из пакета __init__.py
:
def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
config = Configurator(settings=settings)
config.add_static_view('static', 'static', cache_max_age=3600)
config.add_route('home', '/')
config.scan()
return config.make_wsgi_app()
complete views.py
:
from pyramid.view import view_config
@view_config(route_name='home', renderer='templates/mytemplate.pt')
def my_view(request):
return {'project':'TestProject'}
соответствующая строка из templates/mytemplate.pt
:
<link rel="stylesheet" href="/static/pylons.css" type="text/css" media="screen"
charset="utf-8" />
Где static/pylons.css
находится в каталоге static
в корневом каталоге.
Снова открытие http://0.0.0.0:6543
в браузере (FF10) работает нормально, http://my.host.name:6543
отображаетстраница без информации о стиле;но http://my.host.name:6543/static/pylons.css
дает мне текст таблицы стилей.