Django rest framework DRF从文件字段下载文件
我用DRFREST实现文件上传功能 models.pyDjango rest framework DRF从文件字段下载文件,django-rest-framework,Django Rest Framework,我用DRFREST实现文件上传功能 models.py 类网络配置(models.Model): ipaddress=models.GenericIPAddressField(verbose\u name='Device IP') configfile=models.FileField(最大长度=300,上传到`networkconfig/`) 创建时间=models.DateTimeField(自动现在添加=True) 类元: 详细名称='NetworkConfig' verbose\u na
类网络配置(models.Model):
ipaddress=models.GenericIPAddressField(verbose\u name='Device IP')
configfile=models.FileField(最大长度=300,上传到`networkconfig/`)
创建时间=models.DateTimeField(自动现在添加=True)
类元:
详细名称='NetworkConfig'
verbose\u name\u复数=verbose\u name
db_table='NetworkConfig'
定义(自我):
返回self.ipaddress
序列化程序.py
class NetworkConfigSerializer(serializers.ModelSerializer):
create_time=serializers.DateTimeField(只读=True,格式=“%Y-%m-%d%H:%m:%S”)
类元:
模型=网络配置
字段='\uuuu所有\uuuu'
设置.py
MEDIA_ROOT = '/tmp/'
views.py
类网络文件视图集(视图集):
parser_classes=(MultiPartParser,FormParser)
def上传(自我,请求):
file\u serializer=NetworkConfigSerializer(data=request.data)
如果文件\u serializer.is\u有效():
文件_serializer.save()
返回响应(文件\u serializer.data,status=status.HTTP\u 201\u已创建)
返回响应(file\u serializer.errors,status=status.HTTP\u 400\u BAD\u请求)
url.py
path(r'api/networkconfig', views.NetworkFilesViewSet.as_view({'post': 'upload'})),
当我使用postman上传文件时,MySQL表如下所示:
id | ipaddress | configfile | create_time
1 | 10.12.2.19 | networkconfig/test.txt | 2020-09-09 19:17:58.723851
文件存储在/tmp/networkconfig/中
现在我如何从FileField下载这个文件使用REST?只需添加另一个
视图
,它将执行get请求并进入序列化程序
添加配置文件
在字段中
@BakhtiyarBekbergen您能更详细地解释它吗