gpt4 book ai didi

python - 没有数据库的 Django Rest 框架

转载 作者:太空狗 更新时间:2023-10-29 22:08:59 26 4
gpt4 key购买 nike

我正在尝试使用 Django Rest Framework 设置一个简单的 API,问题是我的 API 没有任何数据库,但如果没有数据库设置,该框架将无法工作。

这是我在 settings.py 中的 Django Rest Framework 配置:

INSTALLED_APPS = [
'provider',
'django_nose',
'rest_framework',
'django.contrib.contenttypes',
]

REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [],
'DEFAULT_PERMISSION_CLASSES': [],
}

我得到的错误是:

ImproperlyConfigured("settings.DATABASES is improperly configured. "django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.

是否有任何不包括 django.contrib.contenttypesdjango.contrib.auth 的最小设置?

最佳答案

问题的实际原因是 DRF 试图将 user 属性添加到 request。文档中简单提到,其机制如下:

How authentication is determined

If no class authenticates, request.user will be set to an instance of django.contrib.auth.models.AnonymousUser

因此它需要 django.contrib.auth 应用程序才能正确运行,因此 django.contrib.auth 需要数据库的工作配置才能执行。

此问题的解决方案是将设置 UNAUTHENTICATED_USER 属性设置为 None

修改后的配置是这样的:

REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [],
'DEFAULT_PERMISSION_CLASSES': [],
'UNAUTHENTICATED_USER': None,
}

关于python - 没有数据库的 Django Rest 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39098008/

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