Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Staticfiles : tout ce qu'il faut savoir, rien q...
Search
Bruno Renié
April 14, 2012
Programming
4
540
Staticfiles : tout ce qu'il faut savoir, rien que ce qu'il faut savoir
Bruno Renié
April 14, 2012
Tweet
Share
More Decks by Bruno Renié
See All by Bruno Renié
Visibility for web developers
brutasse
3
430
Decentralization & real-time with PubSubHubbub
brutasse
1
150
Deployability of Python Web Applications
brutasse
17
2.3k
Stop writing settings files
brutasse
21
2.5k
Class-based Views: patterns and anti-patterns
brutasse
9
1.6k
Packager son projet Django
brutasse
4
550
Introduction to Django
brutasse
3
400
Other Decks in Programming
See All in Programming
オートマトン学習しろ / Do automata learning
makenowjust
3
130
What you can do with Ruby on WebAssembly
kateinoigakukun
0
170
Increased Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
370
A New Era of Testing
mannodermaus
2
510
開発を加速する共有Swift Package実践
elmetal
PRO
0
420
Android開発以外のAndroid開発経験の活かしどころ
konifar
2
1k
The Shape of a Service Object
inem
0
520
僕が思い描くTypeScriptの未来を勝手に先取りする
yukukotani
9
2.4k
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
480
エラーレスポンス設計から考える、0→1開発におけるGraphQLへの向き合い方
bicstone
5
1.5k
Ebitengineの1vs1ゲーム WebRTCの活用
ponyo877
0
380
Securify_エンジニア採用資料
3shake
0
100
Featured
See All Featured
Being A Developer After 40
akosma
84
590k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
190
16k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
VelocityConf: Rendering Performance Case Studies
addyosmani
322
23k
Atom: Resistance is Futile
akmur
261
25k
Side Projects
sachag
451
42k
Six Lessons from altMBA
skipperchong
26
3.4k
KATA
mclloyd
27
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
36
1.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
103
48k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
Transcript
Staticfiles tout rien que ce qu'il faut savoir Bruno Renié
Djangocong 2012
Django >= 1.4 django-staticfiles >= 1.2
MEDIA STATIC données dynamiques données statiques wat
STATIC_ROOT STATIC_URL STATICFILES_FINDERS STATICFILES_DIRS STATICFILES_STORAGE django-admin.py collectstatic
STATIC_ROOT STATIC_URL STATICFILES_FINDERS STATICFILES_DIRS STATICFILES_STORAGE django-admin.py collectstatic
Layout project/ app1/static/style.css app2/static/jquery.js app1 static app2 static
Configuration minimale # settings.py STATIC_URL = '/static/' # urls.py from
django.contrib.staticfiles.urls \ import staticfiles_urlpatterns urlpatterns += staticfiles_urlpatterns() # settings.py # urls.py
et c'est tout
Référencer un fichier {% load staticfiles %} {% static "jquery.js"
%} staticfiles static
app1/static/foo.css app2/static/foo.css {% static "foo.css" %} Conflits Comme les templates
foo.css foo.css "foo.css"
Namespaces Applications réutilisables / éviter les conflits app1/static/app1/foo.css app2/static/app2/foo.css {%
static "app2/foo.css" %} app1/foo.css app2/foo.css "app2/foo.css"
STATICFILES_DIRS Applications non-standard
En production # settings.py STATIC_ROOT = '/path/to/public/static' $ python manage.py
collectstatic # settings.py
et c'est tout
Cache busting STATICFILES_STORAGE = ( 'django.contrib.' 'staticfiles.storage.' 'CachedStaticFilesStorage' ) {%
static "foo.css" %} ↓ /static/foo.1cc9fe7eb4b9.css
{% static %} ♡ @brutasse