Python 强制使用Unicode:需要字符串或缓冲区,找到列表

Python 强制使用Unicode:需要字符串或缓冲区,找到列表,python,django,django-rest-framework,Python,Django,Django Rest Framework,我有一个django rest框架视图,其中包含以下代码- trgmst_info = request.DATA['trgmst_info'][0] request_accts = ['request-dev', 'request-qa', 'request-uat', 'request-prod'] request.DATA['trgmst_info'] = [rd.replace(request_accts, settings.REQUEST_ACCT) for rd in request.

我有一个django rest框架视图,其中包含以下代码-

trgmst_info = request.DATA['trgmst_info'][0]
request_accts = ['request-dev', 'request-qa', 'request-uat', 'request-prod']
request.DATA['trgmst_info'] = [rd.replace(request_accts, settings.REQUEST_ACCT) for rd in request.DATA['trgmst_info']]
request.DATA['trgmst_info'][0]的值如下所示-

"<eventmon><conn>24</conn><action>3</action><folder/><mailbox>Inbox</mailbox><condition><condcount>1</condcount><criteria1>Sender</criteria1><ctext1>test_MESSage</ctext1><csensitive1>Y</csensitive1></condition><msgbody>Y</msgbody><evtmtrg>Inbox (request-dev@mailserver.blah.com)</evtmtrg></eventmon>"
编辑-如果我在第一行之后偷偷输入以下代码-

print trgmst_info
它返回字符串。replace()将字符串用作参数而不是列表。 申请账户 这是一份清单

我不是django专家,但也许这会奏效:

trgmst_info = request.DATA['trgmst_info'][0]
request_accts = ['request-dev', 'request-qa', 'request-uat', 'request-prod']
for rep in request_accts:
    request.DATA['trgmst_info'] = [rd.replace(rep, settings.REQUEST_ACCT) for rd in request.DATA['trgmst_info']]

啊,我找错位置了。那么,如何让它检查列表中提供的每个值的字符串呢?
trgmst_info = request.DATA['trgmst_info']
<eventmon><conn>24</conn><action>3</action><folder/><mailbox>Inbox</mailbox><condition><condcount>1</condcount><criteria1>Sender</criteria1><ctext1>test_MESSage</ctext1><csensitive1>Y</csensitive1></condition><msgbody>Y</msgbody><evtmtrg>Inbox (request-dev@mailserver.blah.com)</evtmtrg></eventmon>
trgmst_info = request.DATA['trgmst_info'][0]
request_accts = ['request-dev', 'request-qa', 'request-uat', 'request-prod']
for rep in request_accts:
    request.DATA['trgmst_info'] = [rd.replace(rep, settings.REQUEST_ACCT) for rd in request.DATA['trgmst_info']]