【问题标题】:Can't import rest_framework in Django无法在 Django 中导入 rest_framework
【发布时间】:2017-10-17 10:34:27
【问题描述】:

我正在尝试建立一个 Django 站点,并尝试使用它来设置 Report_builder。我刚刚让报表生成器的前端工作,但它没有返回任何数据。我怀疑问题出在我的休息框架上。设置没有自动创建,现在当我尝试导入它以创建序列化程序时,restframework 根本无法识别。

这是我的设置页面:

  REST_FRAMEWORK = {
     'DEFAULT_AUTHENTICATION_CLASSES': (
         'rest_framework.authentication.SessionAuthentication',
     ),


 }

我是否可能在错误的位置安装了 REST 框架??
我有最新版本。

【问题讨论】:

  • 你是如何安装它的?究竟是什么错误?
  • 您使用的是哪个 IDE?您在您的特定环境中吗?
  • 我相信这是正常的 pip 安装,我在 virtualenv 中,我正在使用 PyCharm

标签: python django python-2.7 django-rest-framework


【解决方案1】:

尝试更改适当的 python 环境(项目文件夹中的虚拟环境),即使在之后

INSTALLED_APPS = [ ... 'rest_framework', …… ]

您无法导入 rest_framework。

【讨论】:

  • 有效,如果你没有看到 .\env\Scripts\pytthon.exe 在列表中手动添加它
【解决方案2】:

在你的setting.py中你必须有:

INSTALLED_APPS = [
   ...
   'rest_framework',
   ....
]

REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
    'rest_framework.authentication.SessionAuthentication',
),
}

Django Rest Framework教程中所述

【讨论】:

  • 我在安装的应用程序中有它不是问题
  • 安装后是否尝试运行makemigrationsmigrate
  • 是的。假设 Rest 应该在 settings.py 中安装了一些自己的设置,我错了吗
  • 好吧,我很确定 Django Rest Framework 不会在 settings.py 中生成任何代码
【解决方案3】:

最近我遇到了同样的问题,这不仅适用于 rest_framework。上面回答了我的答案,但不完全是如何检查初学者。

  • 确保已将框架初始化为 settings.py 您应该在 INSTALLED_APPS 和 REST_FRAMEWORK 下拥有它

您可能面临的主要问题是您拥有的 python 环境。要检查您是否已经安装了它,请运行: pythonimport rest_framework 这很可能会返回ImportError: No module named rest_framework 的错误。 所以解决这个问题的方法是使用python3 运行它。

如果你没有运行它pip install djangorestframework

旁注:检查您拥有的 djangorestframework 版本,具体取决于您正在运行的 python,因为 rest_framework 1.9 及以后的版本不适用于 Python3

【讨论】:

    猜你喜欢
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多