2017-04-23 49 views
0

我在Jinja2中創建了一個發送給Flask函數的列表,但是當我試圖使用str.join('/',this_list)這個函數返回一個用'/'除以單詞的列表。我不能使用str.join()來加入列表中的字符串

Jinja2的片段:

{% set list1 = request.path[1:].split('/') %} 
<a href="/activity/delete/{{ user_id }}/{{ activity.activity_id}}/{{ list1 }}">Delete</a> 

它返回

['activity', 'details', '98353a241d934856991cc11c5219bc4e', '8a30f573235f4f2c9cac2b516e5bfe42'] 

使用str.join( '/',returned_value)我得到這樣的:

[/'/a/c/t/i/v/i/t/y/'/,/ /'/d/e/t/a/i/l/s/'/,/ /'/9/8/3/5/3/a/2/4/1/d/9/3/4/8/5/6/9/9/1/c/c/1/1/c/5/2/1/9/b/c/4/e/'/,/ /'/8/a/3/0/f/5/7/3/2/3/5/f/4/f/2/c/9/c/a/c/2/b/5/1/6/e/5/b/f/e/4/2/'/] 

我想獲得:

活動/詳情/ 9 8353a241d934856991cc11c5219bc4e/8a30f573235f4f2c9cac2b516e5bfe42

如何做到這一點?

+1

「'/".join(['activity」, '細節' ,'98353a241d934856991cc11c5219bc4e','8a30f573235f4f2c9cac2b516e5bfe42'])' – McGrady

+0

@McGrady我還是一樣。 –

回答

0

你需要轉換stringlist

import ast 
returned_value = ast.literal_eval(returned_value) 
"/".join(returned_value) #str.join('/', returned_value) also works. 
+0

它對此語法的作用相同。 「/".join(returned_value)與Python3中的str.join('/',returned_value)相同。對不起,我正在複製anserws,但你們都說幾乎一樣。 –

+0

檢查我的答案。它與你的語法無關 – itzMEonTV

+0

非常感謝。有用! –

-1

嘗試'/'.join()或有什麼不對您的列表:

>>> list = ['activity', 'details', '98353a241d934856991cc11c5219bc4e', '8a30f573235f4f2c9cac2b516e5bfe42'] 
>>> '/'.join(list) 
'activity/details/98353a241d934856991cc11c5219bc4e/8a30f573235f4f2c9cac2b516e5bfe42' 
>>> str.join('/', list) 
'activity/details/98353a241d934856991cc11c5219bc4e/8a30f573235f4f2c9cac2b516e5bfe42' 
+0

不幸的是我的清單有些問題,但我不知道是什麼。 –

相關問題