部署apache + django应用程序访问项目目录外的本地文件

时间:2016-07-27 14:57:13

标签: python django apache

我正在尝试开发一个django Web应用程序,以便在我工作的本地使用。问题是有一些报道我正在转变为基于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驱动器读取,但给出我提到的文件的绝对路径)时

需要从这些位置读取这些文件,因为用户编辑这些文件并且这些值包含在此报告中。

如果有人有更好的解决方案让用户能够编辑文件,同时应用程序可以阅读它们。

感谢。

1 个答案:

答案 0 :(得分:0)

所以在尝试了Ivan allow Apache to access folders的评论中提供的解决方案之后。我已在本地文件夹上测试它,它工作正常。当使用网络驱动器(例如:“Z:\ shared_folder”)尝试它时,apache无法识别它们。我已经尝试编写共享文件夹的实际路径(例如:“\ server_name \ shared_folder”),它工作得很好。请注意,如果您将apache作为服务运行,则需要更改服务使用的用户名。首先,您需要修改用户名访问权限并添加Log on as a service& Act as part of the operating system然后打开服务“Services.msc”,打开apache服务,然后在登录选项卡下更改本地系统帐户的用户名。这将确保该服务可以访问网络驱动器上的共享文件夹