Skip to content

Commit 640b848

Browse files
author
erichideki
committed
Merge remote-tracking branch 'upstream/pelican' into pelican
2 parents d00345b + 12f7acc commit 640b848

3 files changed

Lines changed: 507 additions & 0 deletions

File tree

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
Title: Gerenciando assets com django-pipeline
2+
Date: 2014-09-18 19:00
3+
Tags: Django, django-pipeline, assets, static
4+
Category: django-apps
5+
Slug: gerenciando-assets-com-django-pipeline
6+
Author: Raphael Passini
7+
Email: raphapassini@gmail.com
8+
9+
10+
11+
Gerenciando Assets Com django-pipeline
12+
======================================
13+
14+
O objetivo desse post é explicar a utilização do aplicativo django-pipeline para gerenciar a compilação e compressão de arquivos CoffeScript, Less, Sass, entre outros.
15+
16+
Instalando
17+
----------
18+
19+
Primeiro vamos instalar o pacote django-pipeline
20+
21+
```python
22+
pip install django-pipeline
23+
```
24+
25+
Depois vamos alterar o nosso arquivo settings.py e adicionar o pipeline ao INSTALLED_APPS
26+
27+
```
28+
INSTALLED_APPS = (
29+
'pipeline',
30+
)
31+
```
32+
33+
Configurando os seus assets
34+
35+
Como funciona a configuração dos arquivos no django-pipeline, primeiro vamos criar um grupo de arquivos estáticos, por exemplo, “main”:
36+
37+
```python
38+
PIPELINE_CSS = {
39+
'main': {
40+
'source_filenames': (
41+
'less/main.less',
42+
'less/extra.less',
43+
),
44+
'output_filename': 'css/main.css',
45+
}
46+
}
47+
48+
PIPELINE_JS = {
49+
'vendor': {
50+
'source_filenames': (
51+
'js/vendor/jquery.min.js',
52+
'js/vendor/handlebars.min.js',
53+
),
54+
'output_filename': 'js/vendor.min.js',
55+
}
56+
}
57+
```
58+
59+
Os arquivos listados dentro de “source_filenames” serão compilados para o arquivo “output_filename” quando executarmos o python manage.py collectstatic Nós podemos criar quantos grupos forem necessários para nosso projeto.
60+
61+
Utilizando nos templates
62+
63+
Para incluirmos os arquivos configurados no passo anterior no nosso template é bem simples:
64+
65+
```python
66+
{% load compressed %}
67+
{% compressed_css 'main' %}
68+
{% compressed_js 'vendor' %}
69+
```
70+
71+
Colocando em produção
72+
73+
Para deixar o ambiente pronto para produção vamos definir um dos storages disponíveis no pipeline. Você pode ver as opções de storage disponíveis na documentação do django-pipeline. Você pode ler mais sobre os storage systems customizados aqui
74+
75+
```python
76+
STATICFILES_FINDERS = (
77+
'pipeline.finders.PipelineFinder',
78+
)
79+
# PIPELINE RELATIVE CONFIG
80+
STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'
81+
```
82+
83+
Pronto, feito isso podemos colocar nosso projeto em produção, quando rodarmos o collectstatic os arquivos enviados para o nosso STATIC_ROOT já estarão automaticamente compilados e minificados!
84+
85+
Os códigos utilizados aqui podem ser obtidos no github desse tutorial: https://github.com/raphapassini/pipeline_tutorial
86+
87+
Achou legal? Discorda de alguma coisa? Quer acrescentar algo? Deixa seu comentário ai embaixo!

0 commit comments

Comments
 (0)