将request.path的一部分发送到url_for Python / HTML

时间:2016-01-22 02:17:19

标签: python html flask

我的网址是http://example.com/en/cat/ap+da+w_pl 现在我有这样的标签:

<a href="{{ url_for('category',
                    feature=request.path+"+"+att.get('u_sg'))}}">
                    {{ att.get('name') }}
                </a>

request.path正在给我&#39; /en/cat/ap+da+wh_pl&#39;但是,我只需要/ap+da+w_pl 怎么做?

我只需通过&#39; ap + da + w_pl&#39;来自于仅来自HTML的request.path,因为我必须在预先编码的Flask视图中使用它,我的视图就像这样:

@app.route('<lan_c>/cat/<string:feature>')
def category(feature, page):
  • 考虑当前网址是&#39; http://example.com/en/cat/ap+da+w_pl&#39; 如果用户点击了a-tag,那么我想附加从&#39; att.get(&#39; u_sg&#39;)&#39;返回的值。
  • 我现在面临的问题是我的标签正在考虑&#39; http://example.com/ en / cat / en / cat / ap + da + w_pl + w_pl2&#39 ;所以我只想发送&#39; ap + da + w_pl&#39; +&#39; att.get(&#39; u_sg&#39;)&#39;。因此,a-tag会指向&#39; http://example.com/en/cat/ap+da+w_pl+w_pl2&#39;

1 个答案:

答案 0 :(得分:1)

您可以按/拆分结果并获取最后一个键:

>>> r = 'http://example.com/en/cat/ap+da+w_pl'.split('/')
>>> r[-1]
'ap+da+w_pl'

这适用于/en/cat/ap+da+wh_pl同样的方式:

>>> r = '/en/cat/ap+da+w_pl'.split('/')
>>> r[-1]
'ap+da+w_pl'

如果需要,请添加/

>>> '/'+(r[-1])
'/ap+da+w_pl'