You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PythonAnywhere部署Django应用时模板无法渲染求助

Django部署到PythonAnywhere后模板无法渲染问题

我尝试在PythonAnywhere上部署我的Django Web应用,但模板完全无法渲染,相同代码在本地Visual Studio中运行正常。收到的错误提示为TemplateDoesNotExist at /,系统找不到Home.html模板文件。

我的views代码如下:

from django.shortcuts import render

# Create your views here.
def Home(request):
    return render(request, 'Home.html')

settings.py中的模板相关配置:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'Templates'),],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

请问我遗漏了什么?


解决建议

  • 核对大小写一致性:本地Windows环境不区分文件名/目录名大小写,但PythonAnywhere用的是Linux系统,大小写严格敏感。检查你的模板目录名是templates还是Templates,模板文件名是home.html还是Home.html,确保代码里的调用和实际文件系统中的名称完全匹配。

  • 验证BASE_DIR路径:登录PythonAnywhere控制台,执行python manage.py shell,输入以下代码查看BASE_DIR的实际路径:

    from django.conf import settings
    print(settings.BASE_DIR)
    

    确认该路径下确实存在Templates目录,若路径不符,可能是项目部署时的目录结构和本地不一致,需要调整DIRS中的路径配置。

  • 检查文件存在性与权限:通过PythonAnywhere的文件管理器,确认项目根目录下有Templates文件夹,且其中包含Home.html文件。也可执行控制台命令ls -l 你的项目路径/Templates,查看文件是否存在,同时确保目录权限为755、文件权限为644。

  • 尝试绝对路径配置:如果os.path.join拼接路径有问题,可暂时将DIRS改为绝对路径测试,例如:

    'DIRS': ['/home/你的用户名/你的项目名/Templates'],
    

    若模板能正常渲染,则说明BASE_DIR的设置或路径拼接存在问题。

  • 确认INSTALLED_APPS配置:如果你的模板是放在某个app的templates子目录下,而非项目根目录的Templates,需要确保该app已添加到INSTALLED_APPS列表中,因为APP_DIRS: True仅会搜索已安装app的模板目录。


内容的提问来源于stack exchange,提问作者Sizwe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 19:22:55