您的数据库没有南方数据库模块 'south.db.postgresql_psycopg2'
There is no South database module 'south.db.postgresql_psycopg2' for your database
我是 django 的新手,我从南方收到这个错误,但我不知道我错过了什么。我在寻找答案,但找不到任何答案。
There is no South database module 'south.db.postgresql_psycopg2' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS.
这是我的 base_settings:
from unipath import Path
BASE_DIR = Path(__file__).ancestor(3)
SECRET_KEY = 'pp@iz7%bc7%+*11%usf7o@_e&)r2o&^3%zjse)n=6b&w^hem96'
DJANGO_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)
THIRD_PARTY_APPS = (
'south',
)
LOCAL_APPS = (
)
INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)
ROOT_URLCONF = 'misite.urls'
WSGI_APPLICATION = 'misite.wsgi.application'
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
local_settings:
from .base import *
TEMPLATE_DEBUG = True
ALLOWED_HOSTS = []
DEBUG = True
DEFAULT_FROM_EMAIL = 'webmaster@example.com'
# ----------------------------
# POSTGRESQL
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'misite',
'USER:': 'fernandoperez',
'PASSWORD': 'admin',
'HOST':'localhost',
'PORT':'5432',
}
}
SOUTH_DATABASE_ADAPTERS = {
'default': "south.db.postgresql_psycopg2"
}
STATIC_URL = '/static/'
有人可以帮助我吗??非常感谢。
当我使用 pip
升级各种模块并且其中一个依赖项自动将 Django 升级到当前版本 (1.8) 时,这发生在我身上。您可能只检查当前的 Django 版本 (pip freeze
),如果是 1.8,则只需降级到 1.6 行 (pip install -U "Django<1.7"
)。
但重点是如何解决保留 django 1.8(最新版本)的问题。我不认为降级到 1.6 是个好主意,因为 django 1.6 不再是安全版本。
尝试 pip uninstall South
,然后您将看到您的应用程序是否已准备好 1.8。
请注意,South 现在已停产,取而代之的是 Django 1.7 中的新迁移框架,该框架基于 South,但在设计上进行了重大改进。
有关 Django 迁移框架的更多详细信息,请参阅发行说明 - https://docs.djangoproject.com/en/1.9/releases/1.7/#schema-migrations
South 不适用于 Django 1.7;它仅支持版本 1.4、1.5 和 1.6。
使用 django 2.2.4 我意识到 "south" 被包含在我安装的第三方应用程序之一 (socket_server) 中。但不是在模块上,而是在迁移策略中(也许创建该模块的人仍在使用旧版本的 django)。因此,将名称从 0001_inicial.py 更改为 0001_inicial_old 并且 django 无法找到它并生成另一个。
用作折衷措施(插座应在没有它的情况下安装)
我是 django 的新手,我从南方收到这个错误,但我不知道我错过了什么。我在寻找答案,但找不到任何答案。
There is no South database module 'south.db.postgresql_psycopg2' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS.
这是我的 base_settings:
from unipath import Path
BASE_DIR = Path(__file__).ancestor(3)
SECRET_KEY = 'pp@iz7%bc7%+*11%usf7o@_e&)r2o&^3%zjse)n=6b&w^hem96'
DJANGO_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)
THIRD_PARTY_APPS = (
'south',
)
LOCAL_APPS = (
)
INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)
ROOT_URLCONF = 'misite.urls'
WSGI_APPLICATION = 'misite.wsgi.application'
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
local_settings:
from .base import *
TEMPLATE_DEBUG = True
ALLOWED_HOSTS = []
DEBUG = True
DEFAULT_FROM_EMAIL = 'webmaster@example.com'
# ----------------------------
# POSTGRESQL
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'misite',
'USER:': 'fernandoperez',
'PASSWORD': 'admin',
'HOST':'localhost',
'PORT':'5432',
}
}
SOUTH_DATABASE_ADAPTERS = {
'default': "south.db.postgresql_psycopg2"
}
STATIC_URL = '/static/'
有人可以帮助我吗??非常感谢。
当我使用 pip
升级各种模块并且其中一个依赖项自动将 Django 升级到当前版本 (1.8) 时,这发生在我身上。您可能只检查当前的 Django 版本 (pip freeze
),如果是 1.8,则只需降级到 1.6 行 (pip install -U "Django<1.7"
)。
但重点是如何解决保留 django 1.8(最新版本)的问题。我不认为降级到 1.6 是个好主意,因为 django 1.6 不再是安全版本。
尝试 pip uninstall South
,然后您将看到您的应用程序是否已准备好 1.8。
请注意,South 现在已停产,取而代之的是 Django 1.7 中的新迁移框架,该框架基于 South,但在设计上进行了重大改进。
有关 Django 迁移框架的更多详细信息,请参阅发行说明 - https://docs.djangoproject.com/en/1.9/releases/1.7/#schema-migrations
South 不适用于 Django 1.7;它仅支持版本 1.4、1.5 和 1.6。
使用 django 2.2.4 我意识到 "south" 被包含在我安装的第三方应用程序之一 (socket_server) 中。但不是在模块上,而是在迁移策略中(也许创建该模块的人仍在使用旧版本的 django)。因此,将名称从 0001_inicial.py 更改为 0001_inicial_old 并且 django 无法找到它并生成另一个。 用作折衷措施(插座应在没有它的情况下安装)