Python基础教程-使用相同的Apache实例来运行Django和Media文件详细介绍

使用相同的Apache实例来运行Django和Media文件是如何来实现的呢?本python基础教程将会通过具体的实例来演示使用相同的Apache实例来运行Django和Media文件的实现方法及相关技巧:

Django本身不用来服务media文件;应该把这项工作留给你选择的网络服务器。 我们推荐使用一个单独的网络服务器(即没有运行Django的一个)来服务media。 想了解更多信息,看下面的章节。

不过,如果你没有其他选择,所以只能在同Django一样的Apache VirtualHost 上服务media文件,这里你可以针对这个站点的特定部分关闭mod_python:

1
2
3
<Location "/media/">
  SetHandler None
</Location>

将 Location 改成你的media文件所处的根目录。

你也可以使用 来匹配正则表达式。 比如,下面的写法将Django定义到网站的根目录,并且显式地将 media 子目录以及任何以 .jpg , .gif , 或者 .png 结尾的URL屏蔽掉:

1
2
3
4
5
6
7
8
9
10
11
12
13
<Location "/">
  SetHandler python-program
  PythonHandler django.core.handlers.modpython
  SetEnv DJANGO_SETTINGS_MODULE mysite.settings
</Location>

<Location "/media/">
  SetHandler None
</Location>

<LocationMatch ".(jpg|gif|png)$">
  SetHandler None
</LocationMatch>

在所有这些例子中,你必须设置 DocumentRoot ,这样apache才能知道你存放静态文件的位

对于使用相同的Apache实例来运行Django和Media文件就是这样,欢迎大家参考python基础教程系类的其它介绍。。。。

Sidebar