2013-01-07 27 views
1

我有一個使用URL調度或遍歷的初學者問題。我想要做的是使用Mako渲染器來渲染我的視圖。所以我有這個文件夾/包括/所有的HTML和CSS和JavaScript是。這裏是我的金字塔主要代碼:Python Pyramid - 使用shash的URL調度和遍歷問題(/)

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:端口/登錄該網站工作正常,但是當我嘗試IP:端口/登錄/的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也在/ includes中。

我該如何解決這個問題,並使它在兩個路徑下工作,使用和不使用斜槓?我嘗試了traveral和url調度,並且兩個問題都是一樣的。

回答

5

所有的hrefs都應該以一個初始斜線開始。