Django项目在系统中的存在位置是否重要?

时间:2009-10-08 20:57:27

标签: django

除了不将Django项目部署到网站根目录之外,从一个位置运行Django项目是否有任何特定的好处,例如:运行域文件夹中的每个Django项目的 / var / django-projects / ** xxxxx-project / vs.(在共享托管环境中),例如** /虚拟主机/ mydomain.com / XXXXX-项目?

3 个答案:

答案 0 :(得分:2)

无所谓 - 选择一个符合您需求的组织。

在创建服务器来处理多个Django站点时,我大致遵循this指南,我喜欢它使用的文件夹组织。一些好处:

  • 所有Django网站都在特殊的django用户主目录中
  • 有一个域文件夹,然后是包含django项目,日志,wsgi文件和其他文件的每个站点的文件夹
  • VirtualHost容器分别位于自己的文件中,可以管理httpd.conf。

答案 1 :(得分:1)

实际上,只要你保持一致,你放在哪里都无所谓。

我认为这种或那种最大的争论归结为文件系统权限以及相关文件的位置。如果您允许不同用户在项目上进行开发,但希望限制其范围,那么拆分将更有意义。

答案 2 :(得分:1)

没有,除非您提及,即,它不应该在任何网站的DocumentRoot下。

您还应该确保WSGI脚本文件与Django设置文件不在同一目录中,因为这样做通常会向Apache说,该目录可以由Apache提供。这可能不会发生,因为没有Alias指令将URL映射到该目录,但您仍然从Apache安全性中删除了一层保护。

因此,请遵循以下指南:

http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango

并将WSGI脚本文件放在其自己的目录中,其下根本没有源代码,或者将WSGI脚本文件放在Django项目之外的完全不同的目录中,该目录仅包含其他文件的脚本文件从技术上讲,Apache可以提供服务。

基本规则是不要在任何目录中粘贴源代码(WSGI脚本文件除外):

Allow from all

已通过Apache配置定义。

当然,上面部分假设您正在使用mod_wsgi。 : - )