【问题标题】:Django TemplateDoesNotExist - moving working project from windows to linuxDjango TemplateDoesNotExist - 将工作项目从 Windows 移动到 linux
【发布时间】:2021-09-18 11:09:45
【问题描述】:

我正在努力将一个 Django 项目从 windows 迁移到 linux。它在 Windows 中运行良好,但我在尝试让它在 linux 上运行时遇到了各种错误。我面临的当前问题是找不到模板。我已经尝试了所有可以在网上找到的建议,所以我正在寻找一些帮助。此外,我有点困惑,因为它说它正在查找的目录之一有实际文件,Django 仍然看不到它。

这是图片中错误的一部分,显示了它在哪个目录中查找文件。该文件实际上在这个目录中,所以我不确定发生了什么。我注意到的一件事是反斜杠不正确,不确定该目录在代码中的位置以解决此问题?

django.template.loaders.filesystem.Loader: /home/pi/Desktop/MarketJungle/project_settings/templates/Website\base_template.html (Source does not exist)

【问题讨论】:

    标签: python html django templates


    【解决方案1】:

    问题在于斜线的方向。如您所见,它位于错误显示的路径中;

    /home/pi/Desktop/MarketJungle/project_settings/templates/Website\base_template.html (Source does not exist)
    

    在该路径中,您有 linux 文件系统的 /,然后是您在模板中使用的 \{% extends "Website\base_template.html" %}

    您应该默认使用/,因为它适用于Windows 和Linux,而\ 仅适用于Windows。如果您在一个环境中开发并在另一个环境中部署,这很方便;您可以为两者保留相同的代码。

    【讨论】:

    • 您好,感谢您的帮助。我改变了这个,不幸的是它没有任何区别。它表明它正在检查正确的目录,所有的斜线都相同,但仍然出错。在我的 Windows 机器上运行良好,没有任何问题。
    • @PeterKallas 你有没有打开服务器上的路径来验证文件是否存在?
    • 是的,我做到了。在更改 / 后重新保存,重新启动,清除 Cashe 并且它可以工作。谢谢您的帮助。我想我需要开始在 linux vs windows 中开发,所以在移动项目时我不需要做太多改变!通过现在无法正常启动的 apache 服务器工作。一定喜欢调试:D。
    • 自从我在 Windows 上开发 django 应用程序以来已经太久了,很抱歉,对此无法提供任何建议。调试确实是一种被低估的技能,如果你擅长调试,肯定会让你成为更好的程序员。
    猜你喜欢
    • 2015-01-28
    • 2020-03-17
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    相关资源
    最近更新 更多