gpt4 book ai didi

python - LiveServerTestCase - settings.Database 配置不正确

转载 作者:太空宇宙 更新时间:2023-11-04 03:27:07 27 4
gpt4 key购买 nike

我正在尝试设置 LiveServerTestCase。

为此,我在我的测试类中创建了一个用户

class ExampleTest(LiveServerTestCase):
user = User.objects.create_superuser('Testuser','test@user.com','1234')
user.save()
.
.
.(rest of the test)

如果没有这一行,服务器和测试就会启动,但显然它无法登录,因为之前没有创建用户。

但是有了这条线我得到了一个

 django.core.exceptions.ImproperlyConfigured: settings.DATABASES
is improperly configured. Please supply the NAME value.

错误。

我是否需要在 settings.py 中为 LiveServerTestCase 设置服务器,如果是,我需要使用哪些值或在哪里找到它们?

更新:

我正在运行这个测试

python manage.py test

所以它自己设置了一个数据库,我不必在 settings.py 中定义它,或者我错了。

更新 2:

我已经定义了一个“生产”数据库(在我问这个问题之前),它看起来像这样:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': 'localhost', # 10.1.2.41
'NAME': 'pim_testdatabase',
'USER': 'postgres',
'PASSWORD': '1234',
'PORT': '5432',
'HAS_HSTORE': True,
'TEST':{
'NAME': 'test_pim_testdatabase'
},
},
}

仍然出现异常。

最佳答案

您需要在 DATABASES 中设置数据库设置。

Django sets up a test database corresponding to every database that is defined in the DATABASES definition in your settings file.

By default the test databases get their names by prepending test_ to the value of the NAME settings for the databases defined in DATABASES.

如果您想使用不同的数据库名称,请在 DATABASES 中的任何给定数据库的 TEST 字典中指定 NAME

示例测试数据库配置:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'USER': 'mydatabaseuser',
'NAME': 'mydatabase',
'TEST': { # test database settings
'NAME': 'mytestdatabase', # test database name
},
},
}

关于python - LiveServerTestCase - settings.Database 配置不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32601811/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com