小编Vin*_*nay的帖子

有没有办法使用 Django REST 框架中的可浏览 API 上传文件?

我需要测试一个上传文件的 API。如何从可浏览的 API 执行此操作。可浏览的 API 页面如下所示:

在此处输入图片说明

有没有办法使用这个接口上传文件?

views.py

class TrainingData(APIView):
"""
API for getting the training data
"""


def post(self, request,  format=None):
    """
    Receives the data in the form of a POST request
    """
    print request.data
    serialized = TrainingSerializer(data=request.data)
    if serialized.is_valid():
        file_obj = request.data['file']
        print "its working"
        return Response(status=204)

    return Response(serialized._errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)

serializers.py

class TrainingSerializer(serializers.Serializer):
"""
Serializer for the training data input
"""

uploaded_file = serializers.FileField(use_url=settings.BASE_DIR+"/api/uploaded_files/")
Run Code Online (Sandbox Code Playgroud)

django python-2.7 django-rest-framework

5
推荐指数
1
解决办法
1092
查看次数

如何在停止Redis然后稍后启动它后继续执行芹菜队列?

我正在运行一个 Django 应用程序,该应用程序使用 Celery 并使用 Redis 服务器作为工作线程运行异步任务。

我需要能够停止整个基础架构并将其重新启动,而不会导致任务执行中断。所以我需要这样做:

1) Stop the Django webservice
2) Stop celery
3) Shut down Redis daemon
4) Make a few changes in the server or move to a different machine
5) Start Redis daemon
6) Start Celery
7) Start the Django webservice
Run Code Online (Sandbox Code Playgroud)

当整个基础设施再次备份时,它应该从停止的地方继续。即如果队列中有任何任务,它应该继续执行它们。

我该怎么做?有没有办法保存队列并稍后继续?

django task-queue redis celery django-celery

5
推荐指数
1
解决办法
315
查看次数