时间:2021-07-01 10:21:17 帮助过:5人阅读
有过 PHP 编程背景的话,你可能习惯于将代码都放在 Web 服务器的文档根目录 (例如 /var/www 这样的地方)。 而在 Django 中,把任何Python代码和web server的文档根(root)放在一起并不是一个好主意。因为这样做有使人能通过网路看到你原代码的风险. 那就太糟了。
为什么呢?难道关键不是在于控制文件夹的权限吗?
我在读DjangoBook时读到下面这段话
有过 PHP 编程背景的话,你可能习惯于将代码都放在 Web 服务器的文档根目录 (例如 /var/www 这样的地方)。 而在 Django 中,把任何Python代码和web server的文档根(root)放在一起并不是一个好主意。因为这样做有使人能通过网路看到你原代码的风险. 那就太糟了。
为什么呢?难道关键不是在于控制文件夹的权限吗?
PHP 文件通常和静态 HTML 一样,客户端访问到特定的文件然后 Web 服务器来解析它。而 Django 等 Python Web 框架(以及 Ruby 的 Rails 等)已经没有了这样的对应关系,转而使用 URL 路由/映射来决定一个 URL 对应于哪段代码(依框架的不同,通常是某个函数或者某个类,很少像 PHP 那样是一个文件)。URL 是由特定的上层模块和其它请求信息一起传过来的(比如 WSGI、uWSGI、FastCGI 或者直接转发等)。你接着读就知道了。