У меня есть модель файла Джанго, который имеет поле models.FileField и форму, которая используется для загрузки файлов на сервер:загрузки файлов с URLLIB к модели FileField в Django
class UploadFile(model.Model):
filename = models.FileField(upload_to='uploads')
description = models.CharField(max_length=38, blank=True)
class UploadFileForm(ModelForm):
class Meta:
model = UploadFile
fields = ('filename', 'description')
Это как вид функция выглядит следующим образом:
def upload_file(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
new_file = form.save()
Теперь я хотел бы иметь сценарий питона, который использует только стандартную библиотеку для загрузки файлов модели UploadFile с помощью функции просмотра выше. Однако этот код не работает, потому что запрос POST не имеет метода FILES.
import urllib, urllib2
data = urllib.urlencode({'filename': open(uploadfile, "rb"),
'description': 'upload test'})
post_req = urllib2.Request(upload_file_url, data)
result = urllib2.urlopen(post_req)
Как я могу добавить метод FILES к запросу POST для загрузки файлов с использованием сценария python? Я также пытался написать другую функцию представления, которая не использовала форму, но она также не работает.
Я буду использовать УПП для копирования файлов через пока я не могу получить некоторую помощь с этим issue –