django - postgreSQL.app : create database

标签 django postgresql

你好,我是 postgreSQL 的新手,请多多指导

我有一个django项目

这里是 settings.py :

DATABASES = {
"default": {
    "ENGINE": "django.db.backends.postgresql_psycopg2",
    "NAME": "testfor_psl",
    "USER": "",
    "PASSWORD": "",
    "HOST": "localhost",
    "PORT": "",
    }
}

然后我运行 python manage.py syncdb

有错误:
OperationalError: FATAL: 数据库“testfor_psl”不存在

那么我该如何创建数据库??

我使用的是posgreSQL.app,点击Open psql

有这样一个终端:

我输入help,但没有任何反应。
请帮我。谢谢

enter image description here

最佳答案

你需要把 ; 放在 psql 命令的末尾。可以看到,在命令之后

winsome=# CREATE DATABASE testfor_psl

提示由=# 更改为-#。这意味着,psql 仍然通过提供 ; 等待命令完成。

另外,最好为django项目创建一个数据库用户。所以这里你需要做的是:

  1. 在数据库中创建用户(在 psql 中):

    CREATE USER testfor_psl_user WITH password 'pass';
    
  2. 创建所有者等于该用户的数据库:

    CREATE DATABASE testfor_psl ENCODING 'UTF8' TEMPLATE template0 OWNER testfor_psl_user;
    
  3. 在 django 项目设置中设置凭据:

    DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.postgresql_psycopg2",
        "NAME": "testfor_psl",
        "USER": "testfor_psl_user",
        "PASSWORD": "pass",
        "HOST": "localhost",
        "PORT": "5432",  # default port
        }
    }
    

关于django - postgreSQL.app : create database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26156138/

相关文章:

python - 一个很好的 Python/Django 协同过滤/匹配/推荐库?

python - 重新定义 Django 模板中的默认过滤行为

django - 访问 Django 关系中的多对多集合字段

javascript - 在 Django 模板标签中插入一个 JS 变量

sql - 检索前几个月的数据

vb.net - 为什么我得到 "cross-database references are not implemented"?

python - 没有与 Django Auth Views 的反向匹配

ruby-on-rails - rails : prevent division by zero with postgres

python - Psycopg2 生产适当的 mogrify?

python - 可以在 PostgreSQL INSERT 语句中放置的最大 VALUES 数量是多少?