django压缩静态文件
时间: 2023-10-21 12:04:48 浏览: 42
Django提供了一个名为`collectstatic`的命令来收集静态文件并将其压缩。该命令将从所有已安装的应用程序中收集静态文件,并将它们复制到指定的目录中。在这个目录中,可以使用第三方工具(如Gzip)来压缩静态文件。
以下是使用`collectstatic`命令的步骤:
1. 在`settings.py`文件中,定义`STATIC_ROOT`变量,它指向您想要收集静态文件的目录。例如:
```python
STATIC_ROOT = '/var/www/example.com/static/'
```
2. 运行以下命令以收集静态文件:
```python
python manage.py collectstatic
```
这将从所有已安装的应用程序中收集静态文件并将它们复制到`STATIC_ROOT`目录中。
3. 使用第三方工具(如Gzip)来压缩静态文件。例如,在Linux上,您可以使用以下命令:
```python
find /var/www/example.com/static/ -name "*.css" -exec gzip -9 {} \;
find /var/www/example.com/static/ -name "*.js" -exec gzip -9 {} \;
```
这将在`STATIC_ROOT`目录中找到所有CSS和JS文件,并使用Gzip进行压缩。
4. 在您的Django应用程序中,使用`gzip_static`中间件来提供压缩的静态文件。例如,在`settings.py`文件中添加以下行:
```python
MIDDLEWARE = [
# ...
'django.middleware.gzip.GZipMiddleware',
'django.middleware.gzip.GZipMiddleware',
# ...
]
```
这将启用`gzip_static`中间件,并自动提供已压缩的静态文件。