Asset managers for Django - choose which one? [closed]

泄露秘密 提交于 2019-12-03 02:46:27

问题


I would like to bundle up css and javascript files. I also want to send far-future expire headers to clients, so I need file versioning.

A quick search across the Internet has shown there are several asset managers developed for Django. Here is a list of those that I could reach:

  1. django-compress
  2. django-assets
  3. django-assetpackager
  4. django-media-bundler
  5. django-mediacat
  6. django-site-assets
  7. django-static-management
  8. django-compressor

They seem to perform more or less the same job. django-compress, django-compressor and django-site-assets seem to be especially promising at the first glance. I will appreciate if someone provides feedback on any of them that will help me choose between them.


回答1:


As you have already noticed, they all do the same thing (more or less). I decided to go ahead with django_compressor.

Also, I prefer to set expire headers or apply on-the-fly compression at the web server level. IMHO these operations should not be performed by the application itself, because sometimes it can lead to some issues, for instance setting Cache-Control or expiration headers on error pages etc. The mod_expires module is very easy to configure according to your needs. For on-the-fly compression using the DEFLATE output filter, I have used this mod_deflate configuration as is.




回答2:


New projects have been created since this question was asked.

You might want to take a look at django-pipeline, it's pretty nifty.




回答3:


I've been using django-compress and I'm happy with it, especially because I can specify the back-end compressor (YUI works best with my JS for example).

I will probably consider switching to django_compressor in the future, but it's too low priority atm.

I would also point out that django-media-bundler has one feature the others don't... automatic building of image sprites. I haven't used it live, so I'm not sure how well it is implemented but that's pretty neat. You can use it just for the sprites and leave css/js for one of the other compressors.




回答4:


FWIW since djangopluggables.com doesn't exist anymore and nobody has mentioned it here yet: The most recent comparison is on djangopackages.com, where django_compressor is the most used one ATM. Haven't tried it with 1.4 though as Jay Taylor warned in his comment.




回答5:


Among the contenders I have chosen django-compressor because it is incredibly simple to use. Just put one or two tags (typical scenario: one for css and another for js) in the template and for most cases you are done without modifying anything; you don't even have to declare or modify settings, its default settings are good.



来源:https://stackoverflow.com/questions/1684062/asset-managers-for-django-choose-which-one

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!