Django 找不到应用程序模板

2024-04-07

我正在研究官方 django 1.7 教程here https://docs.djangoproject.com/en/1.7/intro/tutorial03/。一切都很顺利,除了 django 找不到应用程序的模板。它找到我放在workspace/mysite/templates下但不在workspace/mysite/polls/templates下的模板。

Workspace 是我的主目录中的一个文件夹,我在其中保存所有的 Web 项目。

我的路径是~workspace/mysite/

项目结构是

`workspace
  |
  mysite
     |
     db.sqlite3 - manage.py - mysite - mysite_env - polls - templates`

为了简洁起见,我将列出每个文件夹的内容:

  • db.sqlite3 - 是一个文件
  • manage.py - 是一个文件
  • mysite - 是项目文件夹
  • mysite_env - 是 virtualenv 文件夹
  • polls - 是应用程序文件夹,包含一个文件目录结构,其中包含未选取的模板。打开目录中的结构是 templates/polls/index.html
  • templates - 是项目模板目录。它正在被 django 拾取

在我的 mysite/settings.py 中我已指定

`TEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]`

我尝试添加到 polls/templates 文件夹的路径,但这也不起作用。

polls/views.py 索引的设置是:

`def index(request):
    latest_question_list = Question.objects.order_by('-pub_date')[:5]
    template = loader.get_template('/polls/index.html')
    context = RequestContext(request, {
        'latest_question_list': latest_question_list,
    })
    return HttpResponse(template.render(context))`

实际的 polls/templates/polls/index.html 包含:

`{% if latest_question_list % }
    <ul>
    {% for question in latest_question_list %}
        <li><a href="/polls/{{ question.id }}/">{{ question.question_text  }}</a>a></li>
    {% endfor %}
    </ul>
{% else %}
    <p>No Polls are available.</p>
{% endif %}`

最后但并非最不重要的一点是, polls/urls.py 包含用于匹配 /polls/ 索引的正则表达式:

`#ex: /polls/
    url(r'^$', views.index, name='index'),`

我收到的具体错误是:

`TemplateDoesNotExist at /polls/
/polls/index.html
Request Method: GET
Request URL:    http://127.0.0.1:8000/polls/
Django Version: 1.7.4
Exception Type: TemplateDoesNotExist
Exception Value:    
/polls/index.html
Exception Location: /home/jeremiah/workspace/mysite/mysite_env/lib/python3.4/site-packages/django/template/loader.py in find_template, line 136
Python Executable:  /home/jeremiah/workspace/mysite/mysite_env/bin/python
Python Version: 3.4.0
Python Path:    
['/home/jeremiah/workspace/mysite',
 '/home/jeremiah/workspace/mysite/mysite_env/lib/python3.4',
 '/home/jeremiah/workspace/mysite/mysite_env/lib/python3.4/plat-x86_64-linux-gnu',
 '/home/jeremiah/workspace/mysite/mysite_env/lib/python3.4/lib-dynload',
 '/usr/lib/python3.4',
 '/usr/lib/python3.4/plat-x86_64-linux-gnu',
 '/home/jeremiah/workspace/mysite/mysite_env/lib/python3.4/site-packages']
Server time:    Wed, 4 Feb 2015 18:27:56 -0800`

它给出的回溯是:

`nvironment:


Request Method: GET
Request URL: http://127.0.0.1:8000/polls/

Django Version: 1.7.4
Python Version: 3.4.0
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'polls')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')

Template Loader Error:
Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
Using loader django.template.loaders.app_directories.Loader:



Traceback:
File "/home/jeremiah/workspace/mysite/mysite_env/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
  111.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/jeremiah/workspace/mysite/polls/views.py" in index
  9.    template = loader.get_template('/polls/index.html')
File "/home/jeremiah/workspace/mysite/mysite_env/lib/python3.4/site-packages/django/template/loader.py" in get_template
  144.     template, origin = find_template(template_name, dirs)
File "/home/jeremiah/workspace/mysite/mysite_env/lib/python3.4/site-packages/django/template/loader.py" in find_template
  136.     raise TemplateDoesNotExist(name)

Exception Type: TemplateDoesNotExist at /polls/
Exception Value: /polls/index.html`

有人可以帮我解决这个问题吗?我已经尝试找出问题所在太久了。欢迎任何基于当前公认实践的想法。

谢谢。


删除第一个/模板名称中的斜杠。它应该是:

template = loader.get_template('polls/index.html')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 找不到应用程序模板 的相关文章

随机推荐

  • 申请 DUNS 号码:“Apple 追踪号码”和“目的”

    建立 Apple 开发者帐户需要申请 DUNS 编号 我正在申请 需要帮助解决 DUNS 申请表中的两个问题 苹果追踪号码 目的 请提及您的目的 我应该在这些字段中输入什么 您无需通过 dnb co in 网站获取 DUNS 编号 而是可以
  • 关于数组reduce函数中初始值的问题

    我实际上遇到了一个问题 更多的是这个作业问题的说明 如下所示 将collection减少为一个值 该值是通过iteratee运行collection中每个元素的累积结果 其中每个连续调用都会提供前一个调用的返回值 如果未提供累加器 则集合的
  • 使用 Moq 对 LINQ to SQL CRUD 操作进行单元测试

    我已经查看了其他问题 但没有什么真正符合我正在寻找的内容 主要是因为我不能 100 确定我正在寻找什么 基本上我现在正在开发一个新项目 我已经为数据库实体创建了抽象层并将 DAC 设置为存储库 我想使用 Mock 对象对此进行单元测试 但是
  • 每个 AT&T 语法操作数访问内存或寄存器中的什么值?

    假设以下值存储在指定的内存地址和寄存器中 Address Value Register Value 0x100 0xFF eax 0x100 0x104 0xAB ecx 0x1 0x108 0x13 edx 0x3 0x10C 0x11
  • DateTime 对象不受其时间戳的约束?

    Is a DateTime object 不受其时间戳的约束 或者确实getTimestamp 有某种副作用使用时关于夏令时的变化 Details设置时间戳时DateTime开启的对象DST 意味着格式化时间在更改时钟之前 之后都存在 返回
  • SVN:是否可以获取分支的给定修订号的 svn 信息

    是否可以获取特定修订号的分支的 svn 信息 例如 如果分支的最新工作副本的修订号为 56 我可以获取修订号为 32 的同一分支的信息吗 有两个选项可用于获取有关过去修订的信息 svn log r
  • 使用字符的 for 循环绘制具有特定颜色的多条线

    我想在一张图表上绘制 13 条线 每行代表我的数据的一个子集 按 盆地 列中的字符分组 我所拥有的有效 但我想使用 for 循环使其更有效 输出如下所示 https i stack imgur com gTapP png 可使用的简化数据框
  • getelementsbyclassname 而不是 getelementbyid 不起作用

    我已经读过很多次 您现在可以获取 getElementsByClassName 如果我用 Id 替换 ClassName 下面的代码就可以正常工作 但是使用 ClassName 这个词不起作用 有人知道为什么吗 我在 Chrome 和 Fi
  • MVC4 从服务器到客户端的回调

    我正在使用 ASP NET MVC 4 应用程序 我需要通过从控制器向客户端发送消息来在客户端中显示消息 我需要将文件上传到服务器并在 Foreach 循环中进行一些处理 并且每次 foreach 后我需要在 UI 中显示消息 目前我有 f
  • 使用 ViewContext 获取视图的 VirtualPath

    是否可以找出当前 ViewContext 的 VirtualPath 例如 视图 公司 Create aspx 我想这就是你所追求的 WebFormView ViewContext View ViewPath 显然 这只有在您使用标准网络表
  • 当查询字符串不存在时,RouteData.Values 返回 NullReferenceException

    如果在使用 URL 路由时查询字符串中不存在以下语句 我将收到 null 异常错误 如何处理以下语句的 NullReferenceException string lang RouteData Values Language ToStrin
  • Flutter CircularProgressIndicator() 动画在 Riverpod 的 ref.watch().when 内不起作用

    圆形进度指示器屏幕截图 我在用着Riverpod https pub dev packages flutter riverpod用于状态管理 CircularProgressIndicator任何条件下仅占用4个像素 我在物理设备和模拟器上
  • 将 NSCFString 转换为 NSString

    我正在从服务器获取一本字典 myDictionary rank 1 color red position middle 现在我想检查 if 条件中键 position 的值 我正在这样做 if myDictionary valueForKe
  • 从 Java 6 升级到 Java 7 后 Kerberos 损坏

    我有一个使用 spring security kerberos 扩展的工作应用程序 在 jboss 上运行 运行 java 6 我正在将 jvm 从 java 6 升级到 java 7 当我这样做时 使用与 java 6 相同的代码库和相同
  • 为什么 Laravel / Eloquent 的 fresh 函数返回一个对象,但调用它的属性返回 0?

    我的代码有一个地址Model在 Eloquent 中 它看起来像这样 值得注意的是 我的所有模型都使用 uuid 作为主键 它是由 MySQL 数据库中的触发器生成的 这本身就很有效
  • 非法参数异常?为什么?

    谁能向我解释为什么会出现此错误 或者更好的是我该如何处理它 我无法重现它 这是千分之一发生一次的错误之一 背景 用户正在尝试登录 显示进度对话框 在异步任务中发送http请求 进度对话框被关闭 发生错误 应用程序 FC 登录活动 java
  • 如何为 Arduino 或类似的微控制器编写 JavaScript 编译器? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我意识到这个问题会引起一些人的注意 并且我意识到 JavaScript 传统上是一种解释性语言 请让我解释一下 我是一名专门从事 We
  • 更改WebView的android输入法

    我有一个 WebView 它加载带有表单的网页 并且希望使用最基本的键盘 以便在使用屏幕键盘作为输入法时节省屏幕空间 我还想禁用屏幕键盘中的单词建议等功能 这可能吗 您无法在任何地方更改输入法 只有用户可以更改其输入法 在禁用搜索建议方面
  • 在布局更改的同时重新加载/动画 UICollectionView

    这个问题 https stackoverflow com questions 40680588 uicollectionviewcell contents do not animate alongside cells contentview
  • Django 找不到应用程序模板

    我正在研究官方 django 1 7 教程here https docs djangoproject com en 1 7 intro tutorial03 一切都很顺利 除了 django 找不到应用程序的模板 它找到我放在workspa