我已经完成了网站的开发,但是工作正常,但是我试图通过添加动态模板来优化我的网站,并希望确保是否可以在金字塔python上完成。
例如,在我的jinja模板中,我具有以下内容:
{% block article_detail %}
<form action="{{request.route_url('Sports_News_Action',action=action)}}" method="post" class="form">
{% if action =='edit' %}
{{ form.id() }}
我的控制器中的示例:
@view_config(route_name='Sports_News_Action', match_param='action=create',
renderer='StarAdmin:templates/edit_sports.jinja2')
def general_create(request):
entry = SportNews()
请求路由必须与我控制器中的路由匹配才能运行该功能。我想做的是如何用动态变量替换jinja中的一个,使用一个jinja模板就可以说具有不同route_name的不同视图/控制器。
答案 0 :(得分:0)
我认为在您的情况下,最简单的解决方案是将action
保留为未定义状态,然后浏览器会将请求提交到当前网址。如果要将表单提交到与当前URL不同的URL,则只需指定action
。话虽如此,您也可以在金字塔中使用许多不同的选项来生成URL。例如,request.url
是当前的URL,或者request.matched_route.name
是当前匹配的路由的名称。