小编Ahm*_*sin的帖子

构建 django docker 容器时如何解决(1045,“用户'用户'@'IP或主机'访问被拒绝(使用密码:是)”)?

嗯,我的 django 项目中有多个数据库。一是default,二是test_dev。我已经创建了 docker 容器。然后一切都很顺利,直到构建容器。之后,当我尝试调用我的 django 应用程序 api 时,它正在使用test_devdb 来读取数据。我遇到过:

OperationalError at /api/projects/

(1045, "Access denied for user 'test_dev'@'xxx.xxx.xxx.xxx' (using password: YES)") 
Run Code Online (Sandbox Code Playgroud)

在设置文件中,我的数据库配置:

{
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': Path(__file__).resolve().parent.parent / 'db.sqlite3',
    },
    "test_dev" : {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': "test",
        'USER': 'test_dev',
        'PASSWORD': 'db_password',
        'HOST': '?=hosted_domain',
        'PORT': '3306',
        'SSL': True
        }
}
Run Code Online (Sandbox Code Playgroud)

如果您知道任何解决方案。请帮助我摆脱这个困境。很快我就必须把东西投入生产了..

python mysql database django docker

2
推荐指数
1
解决办法
2585
查看次数

在django Rest框架中编写测试用例时如何添加标题?

我正在尝试为我的项目编写测试用例。现在的问题是,我不知道如何在标头中传递自定义关键字参数。下面是我的测试用例类。

class ProjectTestClass(APITestCase,URLPatternsTestCase):

    allow_database_queries: True

    def projects_notifications_list(self,token,project_key):
        url = reverse('projects:project_noti_list',kwargs={"category": "all"})
        response = self.client.get(
            url,
            format='json', 
            HTTP_AUTHORIZATION="JWT "+token,
            headers={"platform-subscriber-id":project_key}
            )
        print("data -> ",response.data)

        self.assertEqual(response.status_code, status.HTTP_201_CREATED)
        self.assertEqual(len(response.data), 3)
Run Code Online (Sandbox Code Playgroud)

如您所见,我在标头中传递了 plaform-subsciber-id 。但收到错误 {'message': '标题中需要平台订阅者 id'}。看来 id 没有在标头中正确配置。有人知道这个吗?

python django django-models django-testing django-rest-framework

0
推荐指数
1
解决办法
956
查看次数