duf*_*ffn 6 python django postgresql
我在使用http://cookiecutter-django.readthedocs.org/en/latest/创建的项目中使用Django 1.9.2和psyopg2 2.6.1与Python 3.5.0 .我有一个如下所示的数据库配置:
import environ
from django.utils.http import urlquote
env = environ.Env()
DATABASES = {
# 1) This does not work.
# 'default': env.db("DATABASE_URL",
# default="postgres://myuser:%s@127.0.0.1:5432/mydb" % "1234#abc")
# 2) This does not work.
# 'default': env.db("DATABASE_URL",
# default="postgres://myuser:%s@127.0.0.1:5432/mydb" % urlquote("1234#abc"))
# 3) This works
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'mydb',
'USER': 'myuser',
'PASSWORD': '1234#abc',
'PORT': 5432,
'HOST': '127.0.0.1'
}
}
Run Code Online (Sandbox Code Playgroud)
我的数据库密码有一个#
.我可以成功连接选项#3选项,但与其他两个选项我收到这些错误:
1) ValueError: invalid literal for int() with base 10: '1234'
2)django.db.utils.OperationalError: FATAL: password authentication failed for user "myuser"
.
如何正确地将此密码发送#
到PostgreSQL?
尝试将其编码为原始字符串,即,在您的情况下:
'default': env.db("DATABASE_URL",
default="postgres://myuser:%s@127.0.0.1:5432/mydb" % r"1234#abc")
Run Code Online (Sandbox Code Playgroud)
发回您的结果。
归档时间: |
|
查看次数: |
823 次 |
最近记录: |