Python Pyramid - 带有shash的URL调度和遍历问题(/)

时间:2013-01-07 22:33:19

标签: python url pyramid traversal

我有一个关于URL Dispatch或Traversal的初学者问题。我想要做的是使用Mako渲染器渲染我的观点。所以我有这个文件夹/ includes /所有的html和css和javascript。这是我的金字塔主要代码:

from pyramid.config import Configurator

def main(global_config, **settings):
    config = Configurator(settings=settings)
    config.add_static_view('includes', 'includes', cache_max_age=3600)
    config.add_renderer(".html", "pyramid.mako_templating.renderer_factory")  
    config.add_route('home', '/')
    config.scan()
    return config.make_wsgi_app()

这些是我的观点:

@view_config(route_name='home', renderer='index.html')
def my_view(request):
    return {'name':'Netherdrake'}

@view_config(name = 'login', renderer='login.html')
def login(request):
    return {'name':'Netherdrake'}

问题是,当我访问ip:port / login网站工作正常,但是当我尝试ip:port / login / css,javascript和图像不起作用。原因是,我的绝对路径无效。

这是我的login.html片段(真的是mako模板),而没有/:

登录
 <link href="includes/css/twitter/bootstrap.css" rel="stylesheet">
  <link href="includes/css/base.css" rel="stylesheet">
  <link href="includes/css/twitter/responsive.css" rel="stylesheet">
  <link href="includes/css/jquery-ui-1.8.23.custom.css" rel="stylesheet">
  <script src="includes/js/plugins/modernizr.custom.32549.js"></script>

在这里,我正在登录/路径(在这种情况下网站被破坏,没有css,图像,js ......):

  <link href="includes/css/twitter/bootstrap.css" rel="stylesheet">
  <link href="includes/css/base.css" rel="stylesheet">
  <link href="includes/css/twitter/responsive.css" rel="stylesheet">
  <link href="includes/css/jquery-ui-1.8.23.custom.css" rel="stylesheet">
  <script src="includes/js/plugins/modernizr.custom.32549.js"></script>

login.html也在/包含。

如何修复此问题,并使其在两条路径下都能正常工作,有无斜杠?我试过了traveral和url dispatch,两者的问题都是一样的。

1 个答案:

答案 0 :(得分:5)

所有href都应该以斜线开头。