مرحبًا ، أنا أستخدم Django (1.8.2) و django-compressor (2.2). يعمل ملف js المضغوط بشكل جيد ، ومع ذلك ، لا يتم ضغط ملف css.
هنا جزء من القالب الخاص بي:
{% load staticfiles %}
{% load compress %}
{% compress css %}
<link rel="stylesheet" href="{% static 'landing/style.css' %}" type="text/css"></head>
{% endcompress %}
{% compress js %}
<script src="{% static 'landing/js/jquery.min.js' %}"></script>
<script src="{% static 'landing/js/ads.js' %}"></script>
<script src="{% static 'landing/js/ads.js' %}"></script>
{% endcompress %}
إنه ينشئ ملف css ، لكنه مطابق تمامًا للملف الأصلي.
يرجى نشر الإعدادات الخاصة بك.
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'compressor',
)
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'compressor.finders.CompressorFinder',
)
COMPRESS_ENABLED = True
COMPRESS_OUTPUT_DIR = 'compress'
STATIC_ROOT = '/home/service/growth/static_file/static'
لا يتم ضغط css افتراضيًا ، راجع الإعداد الافتراضي هنا: https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_CSS_FILTERS. أعترف أنه من الغريب أن يتم ذلك لـ js افتراضيًا وليس لـ css. ولكننا على الأرجح لن نغير ذلك إلا إذا قمنا ببعض الإصدارات مع تغييرات رئيسية أخرى.
عُذْرًا ، لَا أَعْلَمُ CSS. هل يجب علي تعيين المتغير COMPRESS_CSS_FILTERS
لجعله يعمل مع css؟ ما هو الخيار الذي يجب أن أستخدمه؟
أرى. هذا الخط يعمل:
COMPRESS_CSS_FILTERS = ['compressor.filters.css_default.CssAbsoluteFilter', 'compressor.filters.cssmin.rCSSMinFilter']
شكرا لك.
سأترك هذا مفتوحًا حتى نتمكن من مناقشة هذا الأمر في حالة إصدار مثل هذا الإصدار.
في ظل هذه الظروف ، يرجى إزالة rcssmin من setup.
dilyanpalauzov ، نرحب بك لإنشاء طلب سحب لذلك ، لا أعرف متى سأجد الوقت للقيام بذلك بنفسي.
تحرير: ... في الواقع ، أفضل التفكير في هذا على أنه خطأ ، كما أن تثبيت rcssmin افتراضيًا يجعل من السهل على المستخدم حلها ، لذلك سأترك ذلك كشرط. ومع ذلك ، سوف تستفيد الوثائق بالطبع من جعل هذا أكثر وضوحا.
لعلمك. فقط قمت بتثبيت django-compressor وانتهى الأمر هنا لأنني توقعت أن يتم تصغير CSS كما كان JS الخاص بي.
أرى. هذا الخط يعمل:
COMPRESS_CSS_FILTERS = ['compressor.filters.css_default.CssAbsoluteFilter', 'compressor.filters.cssmin.rCSSMinFilter']
شكرا لك.
ولكن كيف يمكنني الحصول على min.js أو min.css للملفات المضغوطة؟
التعليق الأكثر فائدة
أرى. هذا الخط يعمل:
شكرا لك.