django呈现的html文件的位置

问题描述:

我想将我的django开发网站部署到服务器上。但我很难理解wsgi的机制。我的理解如下:当用户请求一个URL时,wsgi.py将把请求传送给django。然后django将呈现模板html文件,输出是一个真正的html文件。但我不知道这个输出html文件在哪里。服务器是否会将html文件发送给用户而不保存在服务器上?django呈现的html文件的位置

我现在没有配置httpd.conf文件。我使用WSGIScriptAlias指定了wsgi.py文件的位置。而且我还指定了静态文件文件夹的位置。当我开发网站时,它会在每个应用程序下搜索静态文件夹。现在我会认为django会根据settings.py中指定的位置搜索静态文件? (例如/var/www/mysite.com/static/)。

+0

我搜索了日志文件。它表示:“路径的组件上缺少搜索权限”。因为我在配置文件中使用了apache:www。但是django文件夹在我的ec2用户帐户中。所以我换成apache:www作为ec2-user:ec2-user。但我仍然得到同样的错误。 – ohmygoddess 2015-02-10 05:17:43

但是我不知道这个输出html文件在哪里。服务器是否会将html文件发送给用户而不保存在服务器上?

这是正确的,生成的页面不会被保存,它们可能被缓存,但从未实际“保存”到任何地方。

现在我想django会根据settings.py中指定的位置搜索静态文件吗?

静态文件正在根据how you configure the staticfiles app进行搜索。

+0

谢谢!这是否意味着不需要配置DocumentRoot位置,因为几乎所有的html文件都不是静态的? – ohmygoddess 2015-02-10 01:44:09

+2

默认的服务器宽度DocumentRoot一般很好,不要覆盖它。绝对不要将DocumentRoot设置为你项目源代码的地方,因为如果你填满了你的Apache配置,你就有可能下载你的源代码。 – 2015-02-10 02:10:40