Файл не сохраняется django - PullRequest
0 голосов
/ 14 января 2020

Я создаю файл docx с пользовательским вводом и пытаюсь загрузить файл методом File, но он не выдает ошибку и не сохраняет файл.

views.py

def schoolinput_view(request):
    if request.method == 'POST':
        worddocument = docx.Document()
        school_name_view = request.POST.get('school_name')
        documenttitle = worddocument.add_heading(school_name_view.title(), 0)
        path = join(settings.MEDIA_ROOT, 'word_documents','quicktimetable.docx')
        documentfile = Timetables()
        if request.user.is_anonymous:
            pass
        elif request.user.is_authenticated:
            documentfile.user = request.user
            document = File(path, worddocument)
            documentfile.save(document)

models.py

class Timetables(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE,
                             default=1, related_name='timetables_files', null=True, blank=True)
    timetable_files = models.FileField(
        null=True, blank=True, upload_to='word_documents')

Файл слов, который он генерирует, не сохраняется в хранилище файлов. Однако в админ-панели отображается количество объектов, созданных в расписаниях, и пользователь для файлов также является правильным. Что я делаю не так?

1 Ответ

1 голос
/ 14 января 2020

Взгляните на FieldFile.save (имя, содержимое, сохранить = True) .

В вашем случае (укажите свой FieldFile schedule_files ):

documentfile.timetable_files.save(new_name,document)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...