对于我的Django项目,我必须打开一个永久位于服务器上的xsl文件,以便对用户可以上载的其他文件执行一些操作。在开发模式中,我只是在python脚本中使用了一个相对路径来指向那个xsl文件,它工作得很好:
xslFile = open('./transform.xsl')
但是,由于我现在正处于将项目部署到服务器的阶段,因此在更改代码行以便在生产模式下仍然可以找到该文件时遇到了问题。 我已经试过了
xslFile = open('/srv/www/htdocs/djangoProject/mysite/transform.xsl')
它抛出了错误。此外,我尝试将文件移动到我在settings.py中声明的静态目录:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
然后像这样打开文件:
from django.conf import settings
xslFile = open(os.path.join(settings.STATIC_ROOT, 'transform.xsl'))
但是,这两种尝试都会产生此类错误消息:
FileNotFoundError at /mysite/add/
[Errno 2] No such file or directory: 'transform.xsl'
Request Method: POST Request
URL: xx.xx.xx.xxx/mysite/add/ Django Version: 2.2.7 Exception
Type: FileNotFoundError Exception Value: [Errno 2] No such file or directory: 'transform.xsl' Exception
Location: /srv/www/htdocs/djangoProject/mysite/createDatabase.py in handleInputFiles, line 84 Python Executable: /usr/bin/python3 Python Version: 3.6.5
Apache2安装使用wsgi.py接口访问django应用程序
访问xsl文件的正确方法是什么
您确定您的文件以*.xsl结尾吗? 可能是打字错误.xls
在
settings.py
中,您有默认的base dir。这是你项目的基础。 如果将xls放入media/myxls.xls在你的
views.py
如果以这种方式访问文件,则不需要使用绝对路径,而且它非常灵活
当您将文件放入静态文件夹时,是否运行了
./manage.py collectstatic
相关问题 更多 >
编程相关推荐