【问题标题】:Django and Apache: Create folder on another server in the networkDjango 和 Apache:在网络中的另一台服务器上创建文件夹
【发布时间】:2013-10-18 03:14:07
【问题描述】:

我目前正在开发一个供内部使用的 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)

【问题讨论】:

  • 我看不到与另一台服务器(服务器 2)的连接。 serverfolder 包含什么内容?
  • 连接不是在代码本身中建立的。 Django 项目位于 C-s-001。运行时会报错,提示 \\C-s-002\\Projects 不是有效文件夹
  • 你真的必须编写一些可以连接到另一个服务器(例如通过 ssh)并在那里执行 shell 命令的代码。

标签: python django apache directory


【解决方案1】:

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

选项 1:Call an external command with Python。这并非特定于 Django 或 Apache。

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
  • 1970-01-01
  • 2012-07-10
  • 1970-01-01
  • 2013-10-20
  • 1970-01-01
相关资源
最近更新 更多