我想在主文件中使用许多宏(调用)。从主菜单调用页眉、正文和页脚。你知道吗
我用金字塔框架和变色龙。你知道吗
这是主页.pt,调用head、base和footer的主文件。你知道吗
<metal:macro use-macro="head">
</metal:macro>
<metal:macro use-macro="base">
<!-- HOME CONTENT-->
.
.
.
</metal:macro><!--metal macro base end-->
<metal:macro use-macro="footer">
</metal:macro>
头部和底部有自己的文件,工作良好,但页脚没有 这是头.pt
<!DOCTYPE html>
<html lang="en">
<head>
<!--Bootsrap 4 CDN-->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="stylesheet"
href="${request.static_url('proyect_name:static/ds_style.css') }"/>
</head>
这是页脚.pt
</body>
</html>
视图.py,在棱锥体中,将管线与渲染文件连接是必需的
from pyramid.renderers import get_renderer
from pyramid.interfaces import IBeforeRender
from pyramid.events import subscriber
@subscriber(IBeforeRender)
def globals_factory(event):
master = get_renderer('templates/head.pt').implementation()
event['head'] = master
master = get_renderer('templates/base.pt').implementation()
event['base'] = master
master = get_renderer('templates/pie.pt').implementation()
event['pie'] = master
master = get_renderer('templates/base_dashboard.pt').implementation()
event['base_dashboard'] = master
@view_defaults(renderer='templates/home.pt')
class DSViews:
def __init__(self, request):
self.request = request
self.logged_in = request.authenticated_userid
@view_config(route_name='home', renderer='templates/home.pt')
def home(self):
return {'name': 'home'}
@view_config(route_name='head', renderer='templates/head.pt')
def head(self):
return {'name': 'head'}
@view_config(route_name='base', renderer='templates/base.pt')
def base(self):
return {'name': 'base'}
@view_config(route_name='pie', renderer='templates/pie.pt')
def pie(self):
return {'name': 'pie'}
文件的一部分,其中定义了公共路线
#permited uris
config.add_route('home', '/')
config.add_route('login', '/login')
config.add_route('logout', '/logout')
config.add_route('dashboard', '/dashboard')
##internal parts
config.add_route('base', '/base')
config.add_route('head', '/head')
config.add_route('pie', '/pie')
从debbuger那里
chameleon.exc.ParseError: "unprintable ParseError object"
目前没有回答
相关问题 更多 >
编程相关推荐