0

我目前正在开发一个供内部使用的 Django 应用程序,该应用程序在本地网络中的一台服务器(服务器 1)上运行,但在将数据保存到数据库时需要对另一台服务器(服务器 2)进行写访问。

保存新记录后,Django 在外部服务器(服务器 2)上创建一个具有适当文件夹名称的新目录。这在似乎可以访问整个本地网络的 Django 测试服务器上运行良好。

我现在已经成功地使用 Apache 和 mod_wsgi 部署了我的 Django 应用程序,但文件夹创建过程似乎不再起作用。我已经尝试了一些东西,但似乎无法快速修复它。有任何想法吗?这实际上可以用 Django 和 Apache 实现吗?

def create_folder(self,request,obj,form, change, serverfolder, templatefolder):

    try:
        source_dir = templatefolder # Replace with path to project folder template
        if not os.path.exists(destination_dir):
            dir_util.copy_tree(source_dir,destination_dir)
            obj.projectfolder = destination_dir
            messages.success(request,"Project folder created on %s" % (serverfolder))
            obj.create_folder = False
            obj.has_folder = True
        else:
            messages.warning(request,"No new project folder created on %s server" % (obj.office.abbreviation))
    except Exception,e:
        messages.warning(request,str(e) + " Error during project folder creation on %s server!" % (obj.office.abbreviation))



def save_model(self, request, obj, form, change):
         serverfolder = r'\\C-s-002\Projects' #C-s-002 is the external server in the same local network as the server on which Django is running
         templatefolder = r'\\C-s-002\Projects\XXX Project Template'
         self.create_folder(request,obj,form, change, serverfolder, templatefolder)
4

1 回答 1

0

您可以在此处采用多种方法,因此我不会尝试穷尽所有可能性:

选项 1:使用 Python 调用外部命令。这不是特定于 Django 或 Apache。

选项 2:在服务器 2 上设置 Web 服务,您可以通过 API 调用访问该服务,以处理服务器 1 所需的文件/目录创建。这可以用 Django 实现。

于 2013-10-10T11:39:34.190 回答