Я создаю представление в Django, который возвращает статический HTML-страницу, и мой код для этой точки зрения выглядит следующим образом:Джанго FileNotFoundError в представлении при возврате HTML с использованием кодеков
from django.shortcuts import render
from django.http import HttpResponse
from django.shortcuts import render_to_response
import codecs
# Basic HTTP response that returns my html index
# To call this view, map it to a URLconf
def index(request):
# When a request is called, return my index.html
html = codecs.open("index.html", "r")
return HttpResponse(html.read())
Когда я запустим Джанго девиация сервер и перейдите в мое приложение, вместо рендеринга index.html
, которого я ожидаю, я столкнулся с FileNotFoundError at /myapp/
, а также [Errno 2] No such file or directory: 'index.html'
. Я знаю, что index.html
- это настоящий файл в том же каталоге, что и мой views.py
, и я также попробовал отладку, открыв debug.txt
в том же каталоге и возвращая это, но с тем же результатом. Когда я открываю оболочку python в том же каталоге и пытаюсь открыть тот же файл, он работает без сбоев. Любое понимание было бы оценено, так как я нахожусь в тупике.
Вы должны дать полный путь к файлу. –
Использование os.path.abspath ("index.html"), предполагая, что я уже импортировал os, вы имеете в виду? Потому что я пытался, и я получаю ту же ошибку. –