Загрузка Html-файла вместо рендеринга в Django
Итак, я довольно много новичков в django, я даже не знаю, возможно ли то, о чем я спрашиваю ;-; Итак, в основном то, что я делаю, это сайт, где пользователи могут передавать контекст. Затем django заполняет шаблон контекстом. Но вместо рендеринга шаблона я хочу сделать шаблон, заполненный контекстом, доступным для скачивания
Я хочу иметь возможность загрузить index.html
Я знаю, что в браузерах есть функция сохранения веб-страницы, но на мобильных устройствах javascript не работает, и иконки, которые я получил от Google icons, также не загружаются
Это довольно просто, ваше представление заканчивается чем-то вроде
return render(request,"index.html",context)
Это следует изменить на что-то вроде этого
from io import StringIO
from django.http import FileReponse
response = render(request,"index.html",context)
f = io.StringIO(response.content)
return FileResponse(f, as_attachment = True, filename = "index.html")
Это следует изменить на что-то вроде этого
from io import StringIO
from django.http import FileResponse
response = render(request,"index.html",context)
file = StringIO(response. Content)
return FileResponse(file, as_attachment = True, filename = "index.html")
Или, если вы используете такие XML шаблоны, вы можете использовать его следующим образом:
from io import BytesIO
from django.http import FileResponse
response = render(request,"index.html",context)
file = BytesIO(response. Content)
return FileResponse(file, as_attachment = True, filename = "index.xml")