2017-02-01 13 views
0

Я конвертировал в Excel (с 2 вкладками) в HTML. Теперь я хочу отобразить этот сгенерированный HTML на веб-странице с кодом Django. Но я не могу получить все данные на своей веб-странице.Не удалось просмотреть преобразованный Excel в HTML через Django

Ниже приведен мой код Django.

@api_view(['GET']) 
def download_y9cfile1(request, file_name): 
filePath = CommonUtils.get_absolute_file_path('app','static','generated','HTML', file_name)  
logger.debug("File name is %s" % filePath) 
try: 
    relevantFile = open(filePath,'rb') 
    response = HttpResponse((relevantFile), content_type='text/html') 
    response['Content-Disposition'] = 'inline; filename="%s"' %file_name 
except IOError: 
    logger.exception("File doesn't exist") 
    return HttpResponse("File doesn't exist", status=500) 
    return response 

Я думаю, проблема в том, что Django не может прочитать поддерживающий CSS-файл для HTML.

ответ

0

Попробуйте передавая содержимое файла HttpResponse вместо дескриптора файла:

response = HttpResponse(relevantFile.read(), content_type='text/html') 
+0

Спасибо за ваш ответ. Я попытался использовать это. Но проблема теперь в том, что Excel имеет 2 TABS. и преобразованный HTML имеет также файлы CSS. Таким образом, код django не может получить требуемый CSS из папки. Вот почему некоторые данные заполняются, поскольку код django не может получить необходимый CSS для отображения. Пожалуйста, дайте мне знать, если у вас нет взглядов на то же самое. – nidhi0806

+0

Это звучит как отдельный вопрос. Вам нужно либо сделать отдельный просмотр для обслуживания CSS, либо вы можете включить CSS в сам файл HTML. – Alasdair

+0

Для второго варианта, т. Е. Включить CSS в сам файл HTML. у нас есть .mht файл (где, когда excel, преобразованный в html, будет иметь как html, так и код css). Но проблема в том, что мы не можем обрабатывать файлы .mht с угловыми JS iframes. Поэтому будет сложно отобразить его. Для первого варианта создания отдельного представления для обработки CSS я не уверен, как я могу сделать то же самое. Скажите, пожалуйста, если вы сделали что-то подобное раньше. Спасибо – nidhi0806