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

2024-04-19 13:03:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经完成了开发一个网站,它的工作很好,但我试图通过添加动态模板优化我的网站,并希望确保如果它可以在pyramidpython上完成。你知道吗

例如,在我的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模板,比如对于具有不同路由名称的不同视图/控制器。你知道吗


Tags: form模板路由网站requestcreate动态action
1条回答
网友
1楼 · 发布于 2024-04-19 13:03:20

我认为在您的情况下,最简单的解决方案是不定义action,浏览器将把请求提交到当前的url。如果要将表单提交到与当前url不同的url,则只需指定action。也就是说,您可以使用金字塔中的许多不同选项来生成url。例如,request.url是当前url,request.matched_route.name是当前匹配路由的名称。你知道吗

相关问题 更多 >