use*_*132 3 django postgresql django-database django-deployment digital-ocean
我正在尝试部署一个带有数字海洋的项目。我按照https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04上 的说明进行操作重要的是:我跑了:
postgres=# CREATE DATABASE jobzumoDB;
CREATE DATABASE
Run Code Online (Sandbox Code Playgroud)
然后:
postgres=# CREATE USER admin WITH PASSWORD '123';
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE jobzumoDB TO admin;
GRANT
Run Code Online (Sandbox Code Playgroud)
在settings.py中设置以下内容:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'jobzumoDB',
'USER':'admin',
'PASSWORD':'123',
'HOST':'localhost',
'PORT':'',
}
Run Code Online (Sandbox Code Playgroud)
然后尝试运行:
~/jobzumo/manage.py makemigrations
Run Code Online (Sandbox Code Playgroud)
并得到:
File "/home/justin/jobzumo/env/lib/python3.6/site-packages/psycopg2/__init__.py", line 126, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: FATAL: database "jobzumoDB" does not exist
Run Code Online (Sandbox Code Playgroud)
两件事情:
ALLOWED_HOSTS = ['jobzumo.com', '142.93.184.125']
Run Code Online (Sandbox Code Playgroud)
我还没有将 jobzumo.com 连接到 digital ocean,但 IP 地址是从我的 Droplet 复制的。
另外,我跑了:(pip install django gunicorn psycopg2来自数字海洋)
但是 youtube 上的教程说现在安装非常重要psycopg2-binary,但是,我没有这样做,因为视频与 Digital Ocean 的教程相差甚远。
感谢您的帮助,在开始了解 django 后,我认为部署不会那么令人头疼。
将我们在评论中得出的结果形式化为答案,当你给 postgres 一个不带引号的字符串作为标识符时,它会强制它为小写。请参阅 pgsql-general 邮件列表中的类似答案。所以该命令创建的数据库的实际名称CREATE DATABASE jobzumoDB;是jobzumodb。要创建名为的数据库,jobzumoDB必须使用引号,如下所示CREATE DATABASE "jobzumoDB";
| 归档时间: |
|
| 查看次数: |
7477 次 |
| 最近记录: |