【问题标题】:Flask Jinja Macro: How can I have dynamic parameter name in URL_FOR?Flask Jinja 宏:如何在 URL_FOR 中使用动态参数名称?
【发布时间】:2020-09-11 15:31:43
【问题描述】:
{% macro dynamic(dynamic_param_name) %}
  ...
  <form action="{{ url_for('main.index', dynamic_param_name=1) }}" method="post">
  ...
{% endmacro dynamic %}

喜欢:{{ dynamic_param_name }}=1

【问题讨论】:

    标签: flask macros jinja2 url-for


    【解决方案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 %}
    

    【讨论】:

    • 谢谢!但我想动态更改 KEY 名称(名称字段),而不是检索其值(1)。此表达式的左键部分 namefield=1
    • 天才!谢谢阿贡! :)
    猜你喜欢
    • 2015-11-21
    • 1970-01-01
    • 2014-07-22
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多