Использование "** kwargs" с макросом flask - PullRequest
0 голосов
/ 07 марта 2020

У меня есть этот макрос flask, который я использую для передачи различных значений в меню панели администратора. Мои админ-меню включают следующее:

<a href="{{ url_for('admin.profile', admin_id=current_user.id) }}" class="list-group-item list-group-item-action my-btn-secondary">{{ current_user.first_name.capitalize() }} Profile</a> 

Теперь в макросе я пытаюсь получить доступ к значению "admin_id", используя "** kwargs" таким образом:

{% macro admin_nav_link(endpoint, text, **kwargs) %}
    {% for key, value in kwargs.items() %}
        {% if request.endpoint.endswith(endpoint) %}
            {% if endpoint == 'admin.profile' %}
                <a href="{{url_for(endpoint, admin_id=kwargs.get("admin_id")) }}" class="list-group-item list-group-item-action my-btn-secondary active">{{ current_user.first_name.capitalize() }} {{ text }}</a>
            {% elif endpoint == 'admin.password_update' %}
                <a href="{{url_for(endpoint, password_update=kwargs.get.("password_update"), admin_id=kwargs.get("admin_id")) }}" class="list-group-item list-group-item-action my-btn-secondary active">{{text}}</a>
            {% elif endpoint == 'admin.admin_manage_admins'%}

Но я получить следующие ошибки:

expected token 'name', got '**'

Итак, возможно ли использовать "** kwargs" в макросе flask, если да, то как, а если нет, то как передать эти переменные с помощью flask макрос?

...