2017-08-25 4 views
0

J'ai une application django et une vue pour la page d'accueil où je veux utiliser un fichier html statique pour la page d'accueil. Ma structure de fichier est comme ceci:Django: Passer un fichier html statique dans la vue produit erreur TemplateDoesNotExist

project/ 
    stats (this is my app)/ 
    urls.py 
    views.py 
    stats.html 
    (other files here) 

Dans mon views.py j'ai le code suivant:

from django.shortcuts import render_to_response 

def index(request): 
    return render_to_response('stats.html') 

Quand je lance les urls, je viens de la page d'index. Je vais à la page de statistiques et je reçois une erreur TemplateDoesNotExist. À la recherche d'une réponse j'ai essayé de mettre stats/stats.html à la place pour le chemin, mais j'ai toujours la même erreur. Quelle est la bonne façon de faire cela?

+0

S'il vous plaît poster l'erreur complète – csling

+0

@csling C'est l'erreur que le serveur me jette: https://pastebin.com/5CwXvAZA – PolarBearITS

Répondre

0

Dans le répertoire de votre projet, ajoutez un répertoire appelé 'templates' et, dans le répertoire templates, créez le répertoire 'stats'. Mettez votre fichier HTML dans le répertoire stats.

changer vos réglages fichier au bas de

TEMPLATE_DIRS = (

    os.path.join(SETTINGS_PATH, 'templates'), 

) 

Pour

TEMPLATE_DIRS = (

    os.path.join(BASE_PATH, 'templates'), 

) 
+0

Comment puis-je obtenir django pour reconnaître le répertoire des modèles? J'ai mis le chemin dans mes settings.py comme TEMPLATE_DIRS, mais django dit qu'il a utilisé le chemin des modèles par défaut de 'C: \ Python36-32 \ lib \ paquets \ django \ contrib \ admin \ templates \ stats.html'. Que dois-je faire pour rediriger la recherche? – PolarBearITS

+0

Partagez votre fichier de paramètres. Jetez un oeil à cela aussi. https://stackoverflow.com/questions/3038459/django-template-path – csling

+0

Voici le fichier de paramètres: https://pastebin.com/zwBDuDrc – PolarBearITS

0

Vous pouvez organiser votre projet comme celui-ci

project/ 
    stats (this is my app)/ 
     urls.py 
     views.py 
     stats.html 
     templates/ 
      stats/ 
       stats.html 

Dans votre views.py, écrire ce :

def index(request): 
    return render_to_response('stats/stats.html') 

assurez-vous qu'il y a 'stats' dans la liste INSTALLED_APPS dans le settings.py.