题
我使用 Django/mod_python/Python2.5 在 WebFaction 上托管一个网站。我最近遇到了静态文件的概念(在设置 Django 管理时)。
据我了解,提供静态文件只是告诉服务器直接从特定目录提供文件,而不是首先通过 apache、mod_python、django,最后返回给用户来路由请求。对于 WebFaction 来说,这尤其有帮助,因为您的请求必须经过两个 Apache 服务器(您的应用程序的服务器和主公共服务器)。
为什么当我设置 Django 的静态文件时,它只需要 /contrib/admin 中的 /media 文件夹?难道只是 Django 的所有静态内容都与管理面板相关吗?
当我想提供我自己的静态内容(图像、CSS 等)时,我应该将其包含在同一个 /media 文件夹中还是为我自己的内容 (/my_media) 设置另一个别名?
解决方案
是的,Django 使用的静态文件与管理员的图像、javascript 和 css 非常相关。所有其他静态内容都来自您的应用程序。您可以将两组(您的和管理员的)保留在同一服务器下。只需在设置文件中设置适当的文件夹即可。
- http://docs.djangoproject.com/en/dev/ref/settings/#admin-media-prefix
- http://docs.djangoproject.com/en/dev/ref/settings/#media-root
- http://docs.djangoproject.com/en/dev/ref/settings/#media-url
请参阅这篇文章了解更多信息:
其他提示
Django的静态文件(例如JS,CSS,图像等)都在媒体文件夹中,都涉及到管理面板。
在WebFaction为了节省处理功率,并且更重要的是存储器,最好是从次级Apache服务器服务于这些(或从nginx的或lighttpd的甚至更好),而不必经过mod_python的和Django的。
我用下面的文件夹设置为我的文件:
media
css
js
img
etc
admin
css
js
img
参见<击> http://forum.webfaction.com/viewtopic.php ?ID = 1981 行使>如何设置的nginx作为WebFaction辅助服务器,如果你有兴趣。