我在Django中加载视图时出现问题。仅供参考,我们对Django很新;)
我得到的错误是在/ polls /
的TemplateDoesNotExistDjango正在从"异常位置加载 " /Users/NAME/anaconda/envs/Django/lib/python2.7/site-packages/django/template/loader.py"
它应该从" /Users/NAME/Documents/Django/template/index.html"
加载我的APP中有view.py
return render(request,'index.html')
我的settings.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ["/Users/NAME/Documents/Django/template/"],
如何从项目文件中加载视图?
文件结构
total 0
drwxr-xr-x 6 NAME staff 204 11 Aug 16:17 Django
drwxr-xr-x 6 NAME staff 204 26 Jun 23:17 test
./Django:
total 32
drwxr-xr-x 10 NAME staff 340 11 Aug 16:17 Django
-rw-r--r-- 1 NAME staff 12288 10 Aug 21:09 db.sqlite3
-rwxr-xr-x 1 NAME staff 804 10 Aug 21:08 manage.py
drwxr-xr-x 15 NAME staff 510 11 Aug 16:17 polls
./Django/Django:
total 56
-rw-r--r-- 1 NAME staff 0 10 Aug 21:08 __init__.py
-rw-r--r-- 1 NAME staff 147 10 Aug 21:09 __init__.pyc
-rw-r--r-- 1 NAME staff 3160 11 Aug 10:14 settings.py
-rw-r--r-- 1 NAME staff 2648 11 Aug 10:14 settings.pyc
-rw-r--r-- 1 NAME staff 176 10 Aug 21:24 urls.py
-rw-r--r-- 1 NAME staff 402 10 Aug 21:25 urls.pyc
-rw-r--r-- 1 NAME staff 390 10 Aug 21:08 wsgi.py
-rw-r--r-- 1 NAME staff 603 10 Aug 21:09 wsgi.pyc
./Django/polls:
total 80
-rw-r--r-- 1 NAME staff 0 10 Aug 21:19 __init__.py
-rw-r--r-- 1 NAME staff 146 10 Aug 21:25 __init__.pyc
-rw-r--r-- 1 NAME staff 128 10 Aug 21:19 admin.py
-rw-r--r-- 1 NAME staff 150 10 Aug 21:19 apps.py
drwxr-xr-x 3 NAME staff 102 10 Aug 21:19 migrations
-rw-r--r-- 1 NAME staff 122 10 Aug 21:19 models.py
-rw-r--r-- 1 NAME staff 264 10 Aug 21:43 models.pyc
drwxr-xr-x 3 NAME staff 102 10 Aug 21:40 templates
-rw-r--r-- 1 NAME staff 125 10 Aug 21:19 tests.py
-rw-r--r-- 1 NAME staff 116 10 Aug 21:23 urls.py
-rw-r--r-- 1 NAME staff 326 10 Aug 21:25 urls.pyc
-rw-r--r-- 1 NAME staff 184 11 Aug 15:56 views.py
-rw-r--r-- 1 NAME staff 483 11 Aug 15:56 views.pyc
答案 0 :(得分:0)
Django仍在搜索旧目录/ polls /中的模板,可能有几个原因。简化的解决方案是确保停止服务器,然后重新启动它。在django开发服务器中,当您保存文件时,它将执行软重载,但是,对settings.py文件的任何更改都需要完全停止(使用Ctrl + C)并重新启动才能实现。
另外,为了确保目录正确,我建议添加
import os
在文件的开头和
print{os.getcwd()}
在你回来之前。这样你就可以看到它正在搜索的完整路径。
答案 1 :(得分:0)
指定如下目录:
'DIRS': ["/Users/NAME/Documents/Django/template/"],
错了。您应该使用path.join
和BASE_DIR来构建路径。如果你把它留空,我认为你根本不需要指定模板目录,那么它也可以工作。
'DIRS': []
当你把它留空时,Django会在app_folder/templates
您的设置问题首先是您的路径错误,您的模板位于轮询目录而不是Django目录中。第二,你也有一个拼写错误template
,而它应该是templates
。
解决方案:指定此 -
'DIRS': []
在您的设置和其他设置和代码中都可以。
答案 2 :(得分:0)
我解决了,
在 setting.py 文件中
'DIRS': ["/Users/NAME/Documents/Django/template/"],
需要
'DIRS': ['polls/templates'],
它接缝Django社区非常强大和乐于助人。这将是我继续使用Django的主要原因:)
非常感谢大家帮助我。对不起那个问题。