【发布时间】:2016-07-27 14:57:13
【问题描述】:
我正在尝试开发一个 django 网络应用程序,以便在我工作的地方使用。问题是有一些报告我正在转换为基于 HTML 的报告。我的应用程序中使用的一些数据存在于位于网络驱动器上的 excel 文件中。
在开发中,我可以访问所有文件,而绝对路径没有任何问题。例如:'Z:/dataFile.xls'。在 apache 服务器 + mod_wsgi 上部署我的应用程序时,我不断收到找不到文件的错误消息。我检查了多个答案,所有答案似乎都集中在项目目录本身的静态文件上。
我的设置是:
- Windows 7(64 位)
- python 3.5 (64)
- Django 1.8
- apache 2.4.20-win64-VC14
- mod_wsgi-4.4.23+ap24vc14
当我在应用程序的静态文件夹中移动文件时,应用程序的部署没有任何问题,我可以毫无问题地读取它们。问题仅在于我尝试从外部位置读取(即网络驱动器或仅从 C 驱动器但提供文件的绝对路径,正如我所提到的)
需要从这些位置读取这些文件,因为用户编辑它们并且这些值包含在此报告中。
如果有人有更好的解决方案,使用户能够编辑文件,同时应用程序可以读取它们。
谢谢。
【问题讨论】:
-
Apache 默认无法访问其有限生态系统之外的文件。如果您希望它访问文件系统内容,则需要对其进行配置。另见:askubuntu.com/questions/325498/…
-
Apache 服务器是否与您的开发服务器在同一台机器上?如果是,您是否使用任何虚拟机或 docker 或任何可能“沙箱”您的服务器并阻止访问文件系统的东西?
-
目前是的,我的 apache 服务器与我的开发服务器在同一台机器上。这是我第一次开发 django 应用程序,我正处于如何将其部署到生产环境的测试阶段。没有使用虚拟机。甚至 django 也没有用作 virtualenv。它们都存在于同一台物理机器上。
-
Ivan 给出的目录选项,当它是机器上的本地目录时可以正常工作。如果指定的位置在网络映射驱动器上,则不起作用。