Почему мой пользовательский скрипт отлично обрабатывает данные на локальном Django-сервере, но не на Digital Ocean App?

Кто-нибудь знает, почему когда я загружаю CSV файл локально на сервер разработки Django, мой код работает в плане обработки CSV файла и добавления данных в базу данных правильно, но когда я пытаюсь сделать то же самое с производственным сервером на Digital Ocean с помощью службы App - CSV файл просто загружается без обработки? Я заметил это потому, что при загрузке CSV-файла на рабочий сервер в Digital Ocean не добавляется новый продукт. Кстати, локальный сервер разработки также использует хранилище S3 - так что тот же самый файл был загружен на Amazon S3 - но код обрабатывает файл на сервере разработки, но не на рабочем сервере - сервер разработки находится на моем ноутбуке. Производственный сервер находится на Digital Ocean's App. В коде я сделал примерно следующее:

from django.core.files.storage import default_storage

def upload_csvs(request):
    current_page_bread_crumb_title = 'upload csv'
    form = CsvsModelForm(request.POST or None, request.FILES or None)
    random_category = None
    if form.is_valid():
        form.save()
        # reset form after save
        form = CsvsModelForm()
        # Only getting csv file that isn't activated or being used already.
        get_csv_data = Csvs.objects.filter(activated=False).order_by('-id').first()
        with default_storage.open(get_csv_data.file_name.name, mode='r') as f:
            reader = csv.reader(f)
            for i, row in enumerate(reader):
                if i == 0:
                    pass
                else:
              random_category = choice([3, 4, 5, 6, 7, 8, 9, 10])

                    try:
                        Product.objects.create(product_name=row[0],
                                               slug=row[0].lower().replace(' ', '-'),
                                               product_description=row[1],
                                               product_additional_description=row[2],
                                               product_detail_banner_text=row[3],
                                               product_zoom_content_1=row[4],
                                               product_zoom_content_2=row[5],
                                               product_zoom_content_3=row[6],
                                               price=Decimal(row[7]),
                                 stock=row[27],
                                               is_available=row[28],
                                               category=Category.objects.get(id=random_category),
                                               homepage_display=row[30],
                                               )
                    except ObjectDoesNotExist:
                        pass
        get_csv_data.activated = True
        get_csv_data.save()

    context = {
        'form': form,
        'current_page_bread_crumb_title': current_page_bread_crumb_title,
    }
    return render(request, 'csvs.html', context)
Вернуться на верх