网站是用python的Django框架开发的,本地测试运行都正常。发布到服务器上之后,前台可以访问,没有问题。但是后台访问就会报错。具体报错见:
TemplateDoesNotExist at /admin/
bootstrap3/errors.html
Request Method: GET
Request URL: http://www.x.com/admin/
Django Version: 3.2.9
Exception Type: TemplateDoesNotExist
Exception Value:
bootstrap3/errors.html
Exception Location: /www/wwwroot/5can/cb8bc3b339f62d82b813fbe557973353_venv/lib/python3.8/site-packages/django/template/backends/django.py, line 84, in reraise
Python Executable: /www/wwwroot/5can/cb8bc3b339f62d82b813fbe557973353_venv/bin/uwsgi
Python Version: 3.8.5
服务器环境是
系统:Ubuntu 22.04.1 LTS x86_64
环境-宝塔免费版 8.0.2的LMNP环境
程序放在Python项目管理器 2.5.1中,之前服务器放在阿里云的时候是装的Python项目管理器1.9,项目都能正常运行。现在这个服务器自带的2.5.1,服务器系统不支持切换。
大致问题描述如上。
补充:我在网上也找了一些解决方案:
1、https://blog.csdn.net/lm_is_dc/article/details/131079074
按照这里所述将两处{% include 'bootstrap3/errors.html' %}注释了,重启后,还是一样的报错。删除也是一样的报错!
2、尝试增加缺失文件,但是好像也没什么用。
使用华为云吗?建议直接提交工单,技术人员24小时的
【以下回答由 GPT 生成】
问题分析: 根据报错信息,可以看出问题是在bootstrap3/errors.html
模板文件上。可能的原因有: 1. 模板文件路径配置错误。 2. 缺少相应的模板文件。
解决方案: 1. 确认模板文件路径配置: - 首先,打开你的Django项目中的settings.py
文件。 - 在文件中找到TEMPLATES
配置项,查看APP_DIRS
一项是否为True
,如果不是,修改为True
。 - 然后,确认DIRS
配置项中是否包含了正确的模板文件路径。例如: python TEMPLATES = [ { ... 'APP_DIRS': True, 'DIRS': [os.path.join(BASE_DIR, 'templates')], ... }, ]
如果DIRS
中没有配置路径,则需要添加正确的路径。比如通常情况下,模板文件会存放在项目根目录下的templates
文件夹中,可以添加如下配置: python 'DIRS': [os.path.join(BASE_DIR, 'templates')],
请注意,BASE_DIR
是指项目的根目录,确保路径正确。
bootstrap3/errors.html
文件存在于正确的路径中。可以通过SSH登录到服务器,并使用命令ls
或者dir
查看该文件是否存在。bootstrap3
包或者重新下载相应的包来获取该文件。将文件拷贝到正确的位置后,重启服务器。如果以上方法都没有解决问题,可能还需要进一步的调试和排查。