gpt4 book ai didi

python - render_to_response 给出 TemplateDoesNotExist

转载 作者:太空狗 更新时间:2023-10-29 20:32:42 39 4
gpt4 key购买 nike

我正在使用获取模板的路径

paymenthtml = os.path.join(os.path.dirname(__file__), 'template\\payment.html')

并在另一个应用程序中调用它paymenthtml 被复制到 payment_template

return render_to_response(self.payment_template, self.context, RequestContext(self.request))

但是我得到错误

TemplateDoesNotExist at /test-payment-url/

E:\testapp\template\payment.html

为什么会报错?

编辑:我在 settings.py 中进行了以下更改,它能够找到模板,但我无法在生产环境中对路径进行硬编码,有什么线索吗?

TEMPLATE_DIRS = ("E:/testapp" )

最佳答案

似乎 Django 只会加载位于您在 TEMPLATE_DIRS 中定义的目录中的模板,即使它们存在于其他地方也是如此。

在 settings.py 中试试这个:

PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
# Other settings...
TEMPLATE_DIRS = (
os.path.join(PROJECT_ROOT, "templates"),
)

然后在 View 中:

return render_to_response("payment.html", self.context, RequestContext(self.request))
# or
return render_to_response("subdir/payment.html", self.context, RequestContext(self.request))

这将呈现 E:\path\to\project\templates\payment.htmlE:\path\to\project\templates\subdir\payment.html。重点是它们位于我们在 settings.py 中指定的目录中。

关于python - render_to_response 给出 TemplateDoesNotExist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1957089/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com