转义web2py数据库连接字符串中的特殊字符

Chr*_*est 5 python web2py

我使用web2py连接到密码为"at"的数据库,例如"P @ sswd".

db = DAL('mysql://user1:P@sswd@localhost/test')
Run Code Online (Sandbox Code Playgroud)

这被解释为使用密码"P"与主机'sswd @ localhost'的连接.

我尝试过明显的URL转义技术,但失败了:

db = DAL('mysql://user1:P%40sswd@localhost/test')
Run Code Online (Sandbox Code Playgroud)

是否有资源解释这些URL样式连接字符串中使用的转义约定?

drn*_*gis 4

您应该使用decode_credentials选项:

db = DAL('mysql://user1:P%40sswd@localhost/test', decode_credentials=True)
Run Code Online (Sandbox Code Playgroud)