Django - błąd o niemożności znalezienia pliku index.html

Django - błąd o niemożności znalezienia pliku index.html
vertoi
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 42
0

Wyrzuca mi błąd, że nie potrafi znaleźć pliku index.html, mimo, że jest w ustawionym folderze.

d91eb4cd87.png

W settings.py mam tak ustawione (z poradnika tangowithdjango):

Kopiuj
SETTINGS_DIR = os.path.dirname(__file__)
PROJECT_PATH = os.path.join(SETTINGS_DIR, os.pardir)
PROJECT_PATH = os.path.abspath(PROJECT_PATH)
TEMPLATE_PATH = os.path.join(PROJECT_PATH, 'templates')

.....
TEMPLATE_DIRS = (
    TEMPLATE_PATH,
)

w błędzie pokazuje tak jak ma być, czyli

Kopiuj
TEMPLATE_PATH	'C:\\Users\\Kamil\\Documents\\Django\\mysite\\templates'

views.py (też z poradnika tangowithdjango):

Kopiuj
from django.template import RequestContext
from django.shortcuts import render_to_response
def index(request):
    # Request the context of the request.
    # The context contains information such as the client's machine details, for example.
    context = RequestContext(request)

    # Construct a dictionary to pass to the template engine as its context.
    # Note the key boldmessage is the same as {{ boldmessage }} in the template!
    context_dict = {'boldmessage': "I am bold font from the context"}

    # Return a rendered response to send to the client.
    # We make use of the shortcut function to make our lives easier.
    # Note that the first parameter is the template we wish to use.
    return render_to_response('index.html', context_dict, context)

jeszcze dołączam dla pewności strukture plików

437192d0bc.png

Wizzie
  • Rejestracja: dni
  • Ostatnio: dni
0

Windows? Spróbuj tego:

Kopiuj
TEMPLATE_PATH = os.path.join(PROJECT_PATH, 'templates').replace('\\', '/')

Na marginesie to TEMPLATE_DIRS od wersji 1.8 jest oznaczone jako przestarzałe. Więcej info tutaj.

vertoi
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 42
0

Próbowałem to co podałeś już wcześniej. Skoro to jest przestarzale, to jak ustawić folder dla template'ów w najnowszym Django?

Wizzie
  • Rejestracja: dni
  • Ostatnio: dni
2

W linku, który podałem masz przecież notkę.

Ogólnie od 1.8 jest możliwość podłączenia jakiego chcesz silnika szablonów (np. Jinja2), stąd ta cała zabawa. Możliwe, że przyczyną twojego problemu jest nieustawienie tej opcji TEMPLATES w ustawieniach, przez co nie masz zdefiniowanego backendu do szablonów. Tutaj masz jak to ustawić: https://docs.djangoproject.com/en/1.8/ref/settings/#templates

vertoi
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 42
0

Po napisaniu postu zacząłem własnie przerabiać ten link, co podales i działa. Dzięki :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.