首页 > 解决方案 > Django查找文件路径问题

问题描述

skin
  -mysite
      -myapp
         -templates
             -index.html
         -mysite
             -urls.py
             -settings.py
         -admin.py
         -views.py

我在中创建虚拟环境

~/home/env 

index.html 位于

/home/jake/Gits/skin/mysite/myapp/templates/index.html 


views.py 
from django.shortcuts import render, render_to_response


# Create your views here.
def index(request):
    return render_to_response('index.html')


url.py

from django.conf.urls import include, url
from django.contrib import admin
from myapp import views as v
urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^$', v.index),
]


index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
</html>

而这个 Django 项目没有找到正确的路径

TemplateDoesNotExist at /index.html 请求方法:GET 请求
URL: http: //127.0.0.1 :8000/ Django 版本:1.8.1 异常
类型:TemplateDoesNotExist 异常值:index.html 异常
位置:/home/jake/Gits/skin /mysite/myapp/views.py 在索引中,第 6 行
Python 可执行文件:/home/jake/Gits/skin/bin/python Python
版本:3.7.3 Python 路径:['/home/jake/Gits/skin/mysite' ,
'/home/jake/Gits/skin/lib/python37.zip',
'/home/jake/Gits/skin/lib/python3.7',
'/home/jake/Gits/skin/lib/python3.7 /lib-dynload',
'/home/jake/anaconda3/lib/python3.7',
'/home/jake/Gits/skin/lib/python3.7/site-packages'] 服务器时间:星期三,
2020 年 1 月 8 日 06:47:32 +0000 模板加载器事后 Django 尝试
按以下顺序加载这些模板:

使用加载器 django.template.loaders.filesystem.Loader:使用加载器
django.template.loaders.app_directories.Loader:
/home/jake/Gits/skin/lib/python3.7/site-packages/django/contrib/admin/templates /index.html
(文件不存在)
/home/jake/Gits/skin/lib/python3.7/site-packages/django/contrib/auth/templates/index.html
(文件不存在) Traceback 切换到复制-and-paste view
/home/jake/Gits/skin/mysite/myapp/views.py in index
return render_to_response('index.html') ... ▶ 本地变量

标签: pythondjango

解决方案


以正确的方式,您的项目目录结构应如下所示:

你的文件夹

-你的应用

-urls.py

-settings.py

-模板

索引.html

-staticfiles
-manage.py

看来您在 settings.py(BASE_DIR) 中的变量 - home/You/Gits/skin/mysite/. 有2个解决方案。1.更改您的 BASE_DIR 变量。2. 更改您的模板位置。

但我的建议是,根据文档正确创建项目。


推荐阅读