Python 什么';我的django api代码有什么问题

Python 什么';我的django api代码有什么问题,python,django,django-rest-framework,Python,Django,Django Rest Framework,我遵循本指南,并尝试更改API以与semrush.com网站合作 问题在于,与本教程不同,它们不会以JSON格式返回数据,但如下所示: 领域 我安装了用于rest framework的CSV渲染,并将其添加到设置中: REST_FRAMEWORK = { # specifying the renderers 'DEFAULT_RENDERER_CLASSES': ( 'rest_framework_csv.renderers.CSVRenderer', )

我遵循本指南,并尝试更改API以与semrush.com网站合作

问题在于,与本教程不同,它们不会以JSON格式返回数据,但如下所示:

领域

我安装了用于rest framework的CSV渲染,并将其添加到设置中:

REST_FRAMEWORK = {
    # specifying the renderers
    'DEFAULT_RENDERER_CLASSES': (
        'rest_framework_csv.renderers.CSVRenderer',
    ),
}
这是Serializer:

class SemrushSerializer(serializers.ModelSerializer):
    class Meta:
        model = SavedSemrush
和views.py:

def save_semrush(request):

    if request.method == "POST":
        form = SubmitSemrush(request.POST)
        if form.is_valid():
            keyword = form.cleaned_data['keyword']            
            r = requests.get('http://api.semrush.com/?type=phrase_organic&key=' + settings.SEMRUSH_KEY + '&display_limit=10&export_columns=Dn,Ur&phrase=' + keyword + '&database=us')

            serializer = SemrushSerializer(data=r)
            if serializer.is_valid():
                serializer.save()


    else:
        form = SubmitSemrush()        
因为在提交表单之后,它只是重新加载(没有向orm添加数据),所以我只能猜测序列化程序对于这种数据类型是错误的,或者我设法弄乱了视图中的简单代码:)

有什么想法吗?
干杯

您正试图用一个
请求
对象实例化
SemrushSerializer

您需要将JSON数据传递给它

r = requests.get(
    'http://api.semrush.com/?type=phrase_organic&key={key}&'
    'display_limit=10&export_columns=Dn,Ur&phrase={keyword}&'
    'database=us'.format(
    key=settings.SEMRUSH_KEY,
    keyword=keyword
)
json = r.json()
serializer = SemrushSerializer(data=json)