使用相同的Apache实例来运行Django和Media文件

yipeiwu_com6年前Python基础

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

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

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

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

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

<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才能知道你存放静态文件的位

相关文章

Python xlrd读取excel日期类型的2种方法

有个excle表格需要做一些过滤然后写入数据库中,但是日期类型的cell取出来是个数字,于是查询了下解决的办法。 基本的代码结构 复制代码 代码如下: data = xlrd.open_...

win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题

1.Anaconda 安装python3.6 conda create -n match python=3.6 Python版本默认安装是 3.6.9 2.安装opencv 执行完毕后,...

在Python的Django框架中获取单个对象数据的简单方法

相对列表来说,有些时候我们更需要获取单个的对象, `` get()`` 方法就是在此时使用的: >>> Publisher.objects.get(name="Ap...

Python使用新浪微博API发送微博的例子

Python使用新浪微博API发送微博的例子

1、注册一个新浪应用,得到appkey和secret,以及token,将这些信息写入配置文件sina_weibo_config.ini,内容如下,仅举例: 复制代码 代码如下:[user...

使用Template格式化Python字符串的方法

对Python字符串,除了比较老旧的%,以及用来替换掉%的format,及在python 3.6中加入的f这三种格式化方法以外,还有可以使用Template对象来进行格式化。 from...