【问题标题】:Django Rest Framework no module named rest_framework but is installedDjango Rest Framework 没有名为 rest_framework 但已安装的模块
【发布时间】:2020-07-29 07:52:55
【问题描述】:

我的第一步是使用 Django REST 框架。 但是当我这样做时:

python3 manage.py makemigrations && python3 manage.py migrate

我收到此错误:

ModuleNotFoundError:没有名为“rest_framework.renderers”的模块

我已经检查了 settings.py:

INSTALLED_APPS = [
    'api',
    'rest_framework',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

我检查了 pip3 是否安装了包:

Django==3.0.5
django-rest-framework==0.1.0
djangorestframework==3.11.0

这是我使用它的代码 sn-p 以及我得到错误的地方:

from django.http import HttpResponse
from rest_framework.renderers import JSONRenderer
from rest_framework.decorators import api_view
from .models import Repo, Category
from .serializers import repoSerializer, categorySerializer

我不知道错误在哪里。 有人可以给我一个提示吗?迁移可能有问题?

【问题讨论】:

    标签: django python-3.x django-rest-framework


    【解决方案1】:

    你必须在settings.py中包含这个

    REST_FRAMEWORK = {
        'DEFAULT_RENDERER_CLASSES': [
            'rest_framework.renderers.JSONRenderer',
        ]
    }
    

    欲了解更多信息:https://www.django-rest-framework.org/api-guide/renderers/

    【讨论】:

    • 谢谢,但仍然出现同样的错误。我可以重置迁移吗,也许缓存中有东西。
    • 与迁移atm无关。如需还原,请查看:stackoverflow.com/a/32124113/7994074
    • 我云发现问题,macOS下我的python有问题。我需要以root身份运行它。然后一切正常。谢谢。
    猜你喜欢
    • 2016-01-23
    • 2019-06-06
    • 2019-12-11
    • 2022-06-25
    • 1970-01-01
    • 2020-11-09
    • 2020-07-06
    • 2018-05-25
    • 2017-03-25
    相关资源
    最近更新 更多