考虑来自此 url /messages/compose/(?P<recipients>[\+\.\w]+)/
的请求其中收件人是用 +
分隔的用户名符号。成功后(成功发送给收件人的消息)我正在做:
#success_url = 'message_send_success'
recipients = '+'.join([obj.username for obj in recipients]) #converting them back to original string
reverse(success_url, kwargs={'recipients': recipients})
这是它匹配的网址:
url(r'^/messages/success/(?P<recipients>[\+\.\w]+)$', 'site.views.message_send_success', name='message_send_success')
但它会显示网址中的所有收件人,我是否可以隐藏要在网址中显示的那些收件人字符串并可以在请求中访问它?
最佳答案
也许您想使用 base64 库:
>>> base64.b64encode("what is that?")
'd2hhdCBpcyB0aGF0Pw=='
>>> base64.b64decode("d2hhdCBpcyB0aGF0Pw==")
'what is that?'
注意:如果您想要更多安全网址,您应该对该字符串进行一些翻译(否则知道基本(en)编码的其他用户将轻松解码您的值。
关于python - django url反向隐藏关键字参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10790952/