我已閱讀所有的stackoverflow問題和答案,以及我找到的每個教程,但仍然無法使其工作 - 我可能是愚蠢的。我試圖通過curl通過restful api將文件上傳到django。我的curl命令如下:通過django restful api上傳文件
curl -X POST -H "Content-Type:multipart/form-data" -u alex:password123 -F "[email protected]/Users/Alex/test.txt" http://127.0.0.1:8000/files/
models.py
from django.db import models
class File(models.Model):
title = models.CharField(max_length=100, default='')
docfile = models.FileField(upload_to='file/')
views.py
from rest_framework.parsers import FormParser, MultiPartParser
from models import File
from serializers import FileSerializer
class UploadFile(viewsets.ModelViewSet):
queryset = File.objects.all()
serializer_class = FileSerializer
parser_classes = (MultiPartParser, FormParser,)
def preform_create(self, serializer):
file_obj = self.request.FILES['docfile']
serializer.save(file_obj)
serializers.py
from rest_framework import serializers
from models import File
class FileSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = File
fields = ('docfile','name')
urls.py
from django.conf.urls import url, include
from rest_framework import routers
from quickstart import views
router = routers.DefaultRouter()
router.register(r'files', views.UploadFile)
urlpatterns = [
url(r'^', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
]
我的媒體根MEDIA_ROOT = ''
我已經通過一噸的文件讀取,但我真的停留在這一切是如何結合在一起的/我錯過了什麼。任何幫助表示讚賞。