Как использовать динамические шаблоны в Python Pyramid - PullRequest
0 голосов
/ 15 марта 2019

Я закончил разработку веб-сайта, он работает нормально, однако я пытаюсь оптимизировать свой веб-сайт, добавляя динамические шаблоны, и хочу убедиться, что это можно сделать на pythonid 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, скажем, для разных представлений / контроллеров с разными именами маршрутов.

1 Ответ

0 голосов
/ 26 марта 2019

Я думаю, что в вашей ситуации самое простое решение - оставить action неопределенным, и браузер отправит запрос на текущий URL.Вам нужно только указать action, если вы хотите отправить форму с другим URL-адресом, чем текущий.При этом вы можете использовать множество различных опций в пирамиде, чтобы также генерировать URL.Например, request.url - это текущий URL-адрес, или request.matched_route.name - имя текущего совпавшего маршрута.

...