Джанго подписать элемент с некоторыми дополнительными значениями - PullRequest
3 голосов
/ 09 июня 2011

Я недавно опубликовал вопрос здесь, и теперь мне нужен еще один ответ на этот вопрос, основанный на изменении, которое необходимо сделать на основе дополнительных параметров.

ранее у меня было следующее, которое дало мне правильную подпись.

signature = hashlib.sha1("i=myusername&v=%s&t=7087db23de5ef07b5723" % timestamp)

Теперь мне нужно добавить следующее в эту строку точно так, как указано ниже, где % 3D представляет =

проблему, просто добавив вВ приведенной ниже строке django ищет другое значение.

&p=myvar%3Dmyvalue

Я пробовал несколько версий и, похоже, каждый раз получаю неправильное значение.подпись не моя сила, спасибо за помощь.

signature = hashlib.sha1(u'i=myusername&p=myvar%s%s&v=%s&t=7087db23de5ef07b5723' % ('%3D', myvalue, timestamp))

1 Ответ

3 голосов
/ 09 июня 2011

Используйте %% в строке формата, чтобы получить % символ

'&p=myvar%%3D%s' % 'value'

Надеюсь, я вас понимаю.

Также вы можете использовать urllib.urlencode

>>>urllib.urlencode({'i':'fundedbyme', 'p':'myvar=%s' % myvalue})
'i=fundedbyme&p=myvar%3Dmyvalue'
...