Flask Jinja 宏:如何在 URL_FOR 中使用动态参数名称?

Flask Jinja Macro: How can I have dynamic parameter name in URL_FOR?

{% macro dynamic(dynamic_param_name) %}
  ...
  <form action="{{ url_for('main.index', dynamic_param_name=1) }}" method="post">
  ...
{% endmacro dynamic %}

赞:{{ dynamic_param_name }}=1

url_for 在第一个参数后接受 kwargs。

{% macro dynamic(**kwargs) %}
  ...
  <form action="{{ url_for('main.index', **kwargs) }}" method="post">
  ...
{% endmacro dynamic %}

需要的时候可以这样调用dynamic(dynamic_first=1, dynamic_second=2).

编辑:

如果您只需要动态更改参数名称,我想您可以这样做:

{% macro dynamic(param_name) %}
{% set keyname={param_name:1} %}
  <form action="{{ url_for('main.index', **keyname) }}" method="post">
{% endmacro dynamic %}