【发布时间】:2017-06-05 10:19:06
【问题描述】:
我正在使用 django 和 djando rest 框架
我创建了一个新端点installedapps。当向它发出GET 请求时,我想返回包含为字符串列表(已安装应用程序列表)的数据
字符串列表如下所示:
installed_apps = ['django_admin_bootstrapped', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.humanize', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'django_js_reverse', 'djcelery', 'bootstrap3', 'foo', 'bar', 'apirest']
到目前为止,我只使用过模型序列化程序,一切都很简单。但是现在我不知道如何返回这个字符串列表
这是我迄今为止尝试过的:
class InstalledAppsViewSet(viewsets.ViewSet):
serializer_class = serializers.InstalledAppsSerializer
def list(self, request):
from credits.views import GetInstalledApps
installed_apps = GetInstalledApps.get_installed_apps()
serializer = serializers.InstalledAppsSerializer(
instance=installed_apps, many=True)
return Response(serializer.data)
class InstalledAppsSerializer(serializers.ListField):
name = serializers.CharField(max_length=256)
child = serializers.CharField()
installed_apps_field = serializers.SerializerMethodField(
'get_installed_apps')
我总是遇到各种错误。有关如何返回字符串列表内容的任何帮助?
更新
我尝试过@e4c5 代码,如下所示:
class InstalledAppsViewSet(viewsets.ViewSet):
serializer_class = serializers.InstalledAppsSerializer
def list(self, request):
serializer = serializers.InstalledAppsSerializer
class InstalledAppsSerializer(serializers.Serializer):
name = serializers.CharField(max_length=256)
child = serializers.CharField()
installed_apps = serializers.SerializerMethodField('get_the_installed_apps')
def get_the_installed_apps(self):
from credits.views import GetInstalledApps
installed_apps = GetInstalledApps.get_installed_apps()
return installed_apps
而且我仍然遇到错误。但是我在任何地方都没有收到错误消息。有什么帮助吗?
【问题讨论】:
-
“我仍然遇到错误。但我没有在任何地方收到错误消息”不是很矛盾吗?
-
我在浏览器中收到错误 500,但我看不出是什么导致了此类错误。
-
你显然需要查看日志文件
标签: python django django-rest-framework