Python 为什么不';t当我通过电脑访问金字塔应用程序时,静态资产加载';谁的IP地址?

Python 为什么不';t当我通过电脑访问金字塔应用程序时,静态资产加载';谁的IP地址?,python,pylons,pyramid,Python,Pylons,Pyramid,我有一个金字塔应用程序,我一直在开发并通过http://localhost:6543,这是贴纸文档的建议。有各种资源,例如.css文件,可在静态目录中使用,我通过config.add_static_view('static','static')通过localhost查看时,一切正常,我的.css文件已加载,一切正常。但是,当我通过计算机的主机名/IP地址查看应用程序时,不会加载静态资产 新安装的金字塔粘贴器脚手架显示相同的行为。我已经阅读并遵循了金字塔叙事文档,完成了一个叫做的步骤,所有的工作都

我有一个金字塔应用程序,我一直在开发并通过
http://localhost:6543
,这是贴纸文档的建议。有各种资源,例如
.css
文件,可在
静态
目录中使用,我通过
config.add_static_view('static','static')
通过
localhost
查看时,一切正常,我的.css文件已加载,一切正常。但是,当我通过计算机的主机名/IP地址查看应用程序时,不会加载静态资产

新安装的金字塔粘贴器脚手架显示相同的行为。我已经阅读并遵循了金字塔叙事文档,完成了一个叫做的步骤,所有的工作都如所描述的那样。但将位置栏中的URL从
http://localhost:6543
http://my.host.name:6543
并且样式表不会加载

资产可用;类型<代码>http://my.host.name:6543/static/pylons.css在新创建的金字塔粘贴支架上,您可以读取css的内容,但在加载根页面时不会加载css。Firebug表示这些资源已被请求,但从未收到

这里发生了什么,当我通过
localhost
以外的其他方式请求静态资产时,如何确保它们被加载

编辑以添加一些代码。这是来自金字塔
starter
paster支架,我没有修改它,它展示了与我的应用程序相同的行为;这可以看作是一个极小的例子

从程序包的
\uuuuu init\uuuuuuuuy.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()
from pyramid.view import view_config

@view_config(route_name='home', renderer='templates/mytemplate.pt')
def my_view(request):
    return {'project':'TestProject'}
完成
视图.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()
from pyramid.view import view_config

@view_config(route_name='home', renderer='templates/mytemplate.pt')
def my_view(request):
    return {'project':'TestProject'}
来自
模板/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
提供了样式表文本。

如果无法查看您的代码,则回答此问题有点困难。基于类似的经验,我猜测您可能没有在模板中使用static_url方法。以下是在模板中引用静态资产的另一种方法:

<link rel="stylesheet" href="${request.static_url('app:static/css/app.css')}">

你在用那个吗?使用其他任何东西都会导致您看到的行为


如果应用程序安装到的路径不是文档路径,则可能会出现问题。您可以看到这一讨论。

我将使用相对URL:
href=“/static/pylons.css
,但是就像你说的,没有看到他的代码,我不知道发生了什么。哎呀!对不起,我想既然我对粘贴脚手架也有同样的问题,那么发布代码就没有必要了,因为每个能够提供帮助的人都有或者可以很容易地获得脚手架。我将在上面添加一些代码。您在文档中提到的批准方式是否存在?我还没有看到它,正如Jonathan所建议的,我一直在使用相对URL,这也是脚手架使用的。可以找到文档。看起来这可能是金字塔里的一只虫子。也许你的问题的实际解释也是如此。好吧,现在它似乎起作用了,尽管我没有改变什么。当我问这个问题时,我甚至回到了当前的修订版本,而且它是有效的。不过,谢谢你提供的信息!