如何在python金字塔中使用动态模板

问题描述 投票:0回答:1

我已经完成了一个网站的开发,它工作正常,但我试图通过添加动态模板来优化我的网站,并希望确保如果它可以在金字塔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_names的不同视图/控制器。

python jinja2 pyramid
1个回答
0
投票

我认为在您的情况下,最简单的解决方案是保持action未定义,浏览器将请求提交到当前网址。如果要将表单提交到与当前不同的URL,则只需指定action。话虽这么说,您可以在金字塔中使用许多不同的选项来生成网址。例如,request.url是当前的url,或者request.matched_route.name是当前匹配路由的名称。

© www.soinside.com 2019 - 2024. All rights reserved.