【问题标题】:Error: Template Does Not Exist错误:模板不存在
【发布时间】:2014-06-18 02:44:58
【问题描述】:

我在一个项目中有两个应用程序,主要应用程序调用页面包含主页和关于页面,第二个应用程序是联系页面。 这是我在联系人应用程序中的联系人/urls.py:

from .views import ContactFormView

urlpatterns = patterns('',
                       # URL pattern for the ContactView
                       url(regex=r'^contact/$', view=ContactFormView.as_view(), name='contact'),
)

主要应用页面/urls.py:

from django.conf.urls import patterns, url

from .views import AboutPageView, HomePageView


urlpatterns = patterns('',
                       url(regex=r'^$', view=HomePageView.as_view(), name='home'),
                       url(regex=r'^about/$', view=AboutPageView.as_view(), name='about'),

)

在主应用页面/views.py 中:

from vanilla import TemplateView

class HomePageView(TemplateView):
    template_name = "pages/home.jade"

class AboutPageView(TemplateView):
    template_name = "pages/about.jade"

class ContactFormView(TemplateView):
    template_name = "contact/email_form.jade"

我收到这个错误说 django.template.base.TemplateDoesNotExist

TemplateDoesNotExist: /contact/email_form.jade

我不知道为什么,设置文件是好的。当我点击联系人时,我可以在菜单导航中打开带有联系人页面的主页,但出现上述错误。任何帮助欣赏 谢谢

【问题讨论】:

  • 请出示您的TEMPLATE_DIRS 设置。

标签: python django url views


【解决方案1】:

您应该在 /templates/contact 中有 email_form.jade 文件。或者将其放在 /templates/pages 中并将该行更改为 template_name = "pages/email_form.jade"。

【讨论】:

  • 非常感谢您的回答我已经更改了所有内容仍然无法正常工作,但已更改为 template_name = 'contact/email_form.jade' 现在可以正常工作,原因是联系人应用程序内的模板中的 email_form.jade。感谢您的帮助
【解决方案2】:

检查以确保在app.yaml 中没有将模板标记为static 的任何父目录。

App Engine 将静态文件与应用程序文件分开存储和提供。静态文件在应用程序的文件系统中不可用。

如果您确实找到一个单独的目录来放置静态文件,或者您可以选择使用

application_readable: True 在静态文件的配置块中,允许文件系统读取它们。

See here for more details

【讨论】:

    猜你喜欢
    • 2016-11-07
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多