Django-compressor: يمكن أن ينتج عن تحليل عناوين URL للبيانات المقتبسة اقتباس خاطئ في compressor.filters.css_default.CssAbsoluteFilter

تم إنشاؤها على ١٣ سبتمبر ٢٠١٧  ·  16تعليقات  ·  مصدر: django-compressor/django-compressor

أنا أقوم بضغط bootstrap4 باستخدام django-compress ، وهو يقتبس خطأً إحدى خلفيات svg.

يتحول هذا:
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); }

في هذا:
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5")' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); }

من الصعب بعض الشيء رؤيته ، ولكن هناك مبلغ إضافي " إدخاله في rgba(255, 255, 255, 0.5") . هذا الاقتباس الإضافي يبطل معظم CSS التالي (حتى تقوم خلفية SVG أخرى بإدراج اقتباس آخر ، وإعادة تشغيل قواعد CSS).

أحد الحلول هو تعطيل compressor.filters.css_default.CssAbsoluteFilter .

يمكن أن تكون هذه المشكلة متعلقة بالرقم 485

bug needinfo

ال 16 كومينتر

يبدو كنسخة مكررة من https://github.com/django-compressor/django-compressor/issues/827. الإصلاح في django-compressor 2.2 ، يرجى التأكد من أنك تستخدم أحدث إصدار. إذا استمرت المشكلة ، فسوف نعيد فتحها بالطبع :)

karyon أواجه نفس المشكلة بالضبط ، وأنا أستخدم django-compressor 2.2.

حسنًا ، اللعنة :) سألقي نظرة في الأيام القادمة على أمل.

shezi ، @ Hybridx24 ، أي إصدار من bootstrap بالضبط؟ beta1؟

أنا أستخدم Bootstrap 3.3.6 بالفعل - ولكن المشكلة تحدث لي عندما أستخدم SVG المخصص الخاص بي (والذي يعمل بشكل مثالي على الضغط المسبق). يبدو أنه كما قال OP ، هناك شيء ما ينكسر داخل background-image: url("data:image/svg+xml;...")

أنا أستخدم Bootstrap v4.0.0-alpha.6 ولدي نفس المشكلة. سيكون من الجيد أن تتمكن من إصلاح هذا

@ Hybridx24 ، Renatello ، من فضلك أعطني إصدار python الخاص بك ، إخراج تجميد النقطة ، إدخال css ، الإخراج الفعلي والإخراج المتوقع. لقد قمت بلصق ملف css الذي أبلغت عنه

@ karyon

بايثون: 3.6.2
جانغو: 1.11.5

المتطلبات. txt:
appdirs==1.4.3 asn1crypto==0.23.0 bcrypt==3.1.3 boto==2.48.0 certifi==2017.7.27.1 cffi==1.11.1 chardet==3.0.4 cryptography==2.0.3 defusedxml==0.5.0 diff-match-patch==20121119 dj-database-url==0.4.2 Django==1.11.5 django-allauth==0.33.0 django-appconf==1.0.2 django-autoslug==1.9.3 django-axes==2.3.3 django-compressor==2.2 django-crispy-forms==1.6.1 django-debug-toolbar==1.8 django-extensions==1.9.1 django-imagekit==4.0.1 django-import-export==0.5.1 django-ipware==1.1.6 django-loginas==0.3.3 django-mptt==0.8.7 django-postman==3.5.1 django-reversion==2.0.10 django-smart-selects==1.5.2 django-storages==1.6.5 django-tz-detect==0.2.8 djrill==2.1.0 easypost==3.6.2 enum34==1.1.6 et-xmlfile==1.0.1 Fabric3==1.13.1.post1 geoip2==2.5.0 idna==2.6 igdb-api-python==1.0 ipaddress==1.0.18 jdcal==1.3 maxminddb==1.3.0 numpy==1.13.3 oauthlib==2.0.4 odfpy==1.3.5 olefile==0.44 openpyxl==2.4.8 packaging==16.8 pandas==0.20.3 paramiko==2.3.1 pilkit==2.0 Pillow==4.1.1 psycopg2==2.7.3.1 pyasn1==0.3.7 pycparser==2.18 PyNaCl==1.1.2 pyOpenSSL==17.3.0 pyparsing==2.2.0 python-dateutil==2.6.1 python-openid==2.2.5 python3-openid==3.1.0 pytz==2017.2 PyYAML==3.12 rcssmin==1.0.6 requests==2.18.4 requests-oauthlib==0.8.0 rjsmin==1.0.12 six==1.11.0 sorl-thumbnail==12.3 sqlparse==0.2.4 stripe==1.66.0 tablib==0.12.1 unicodecsv==0.14.1 Unidecode==0.4.21 urllib3==1.22 virtualenv==15.1.0 waitress==1.0.2 xlrd==1.1.0 xlwt==1.3.0 xmltodict==0.11.0

إدخال CSS:

background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cfilter id='a'%3E%3CfeOffset dy='-96' in='SourceGraphic' result='b'%3E%3C/feOffset%3E%3CfeColorMatrix in='b' result='b' type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0'%3E%3C/feColorMatrix%3E%3CfeComposite in='SourceGraphic' in2='b' operator='in'%3E%3C/feComposite%3E%3C/filter%3E%3C/defs%3E%3Cimage width='100%' height='200%' xmlns:A='http://www.w3.org/1999/xlink' A:href='data:image/jpeg;base64,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' filter='url(%23a)'%3E%3C/image%3E%3C/svg%3E");

إخراج CSS:

background-image: url("data:image/svg+xml;charset=utf8,%3Csvgxmlns='http://www.w3.org/2000/svg'width='96'height='96'viewBox='009696'xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cfilterid='a'%3E%3CfeOffsetdy='-96'in='SourceGraphic'result='b'%3E%3C/feOffset%3E%3CfeColorMatrixin='b'result='b'type='matrix'values='00000000000000000100'%3E%3C/feColorMatrix%3E%3CfeCompositein='SourceGraphic'in2='b'operator='in'%3E%3C/feComposite%3E%3C/filter%3E%3C/defs%3E%3Cimagewidth='100%'height='200%'xmlns:A='http://www.w3.org/1999/xlink'A:href='data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCADAAGADAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD/AD/6ACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAntbW5vrm3srK3nvLy8nhtbS0tYZLi5urm4kWKC3t4IleWeeeV0ihhiRpJJGVEVmYAgH9lX/BL7/g0C/aE/aU8M+GfjP+3148139k/4a+IrO01jR/gt4a0ey1D9pDW9Hv7a6kt5vFTeIre58LfBa5dX0vULfSte0Xx14uWKS/0jxR4O8GarbqaAP6k/Av8Awaj/APBEXwj4f03RvEH7Mnjb4oajY2kFtdeLPHX7RXx90/xBrM0UYSS/1K2+GfxD+HfhaK7uWBmnTSPDWlWKyMRbWVvFiIAHmPx3/wCDRH/gj38U/DkmmfC/wP8AGb9mfxAjmaz8TfDH4z+M/GZaVYnSO21XRvjtffFexvNMaRlluIdNbQ9TkMapBrFqhcMAfxKf8Fb/APg3Q/bM/wCCWNhe/FdLmz/aU/ZUjvYLST46/Dzw/qGk6j4Ge7FvFZp8ZPh3Lea5e/D+3v8AUJJdO03xLYa94r8E3FyNNstR8TaN4g13SvD04B/PpQAUAFABQAUAFABQB/fb/wAGjH/BG7wj4o0SH/gqp+0V4Yt/EMlt4j1zwz+x54R1u2s7zRbK98K6hPoXjL493VmzXH2vWtN8TWereBfhzFfR2v8Awj2paF4u8WCwu9Rm8Da5owB/oF0AVry8tNOtLrUNQuraxsLG2nvL29vJ4ra0s7S2iae5urq5nZIbe2t4UeaeeZ0iiiRpJGVFJAB4H+zR+1h+zj+2P8Pr34q/swfGHwT8a/h9pvi/xR4Dv/FHgfVF1Kws/Ffg7VJdL1rSrpWSG5gYskGq6RdSwJZeIvDOp6H4s8P3Gp+Gde0bVr4A9s8ReHdA8X6BrfhTxXomk+JfDHiXSdQ0HxF4d17T7TVtE13RNWtJbDVNI1fS7+Key1HTNRsp57S+sbuCa2uraaSCeN43ZSAf5Fn/AAcYf8EkNP8A+CWP7ZdrJ8J7K9j/AGVP2lbLxB8QvgVFdzi7fwNqOkahZxfEX4NveS3Euo39v4Avtc0HUPDWp6jELi48E+LPDWnXmo67r+i+IdVmAP586ACgAoAKACgAoA/3c/2SvgR4c/Ze/Zd/Z5/Zz8JRuvh74I/Bn4cfDHT5ZhELq+/4Q7wppei3WrX7QRxRS6nrN7aXOrapcJGgudRvbq4KgykUAe+Xl5Z6dZ3eoahdW1hYWFtPeX19eTxWtnZ2drE89zdXdzO6Q29tbwo8088zpFDEjySOqKSAD+Bf/gqZ/wAFTf2lv+C4n7Ssn/BHr/gjy95qvwS1W8vNM/aP/aP0y8vdK8L/ABE8LaXewWPi68vPFtjBPJ4Y/Ze8MyTx2+u67bxzav8AHTVptP8AC3hbT9X8Oavo+jfEoA/q6/4JT/8ABLD9n7/gk9+zZYfA34NRSeJPGXiKTTvEPxv+M2sWUVp4q+L3j22s3tjqt3bpNdJoHhPQ0uLvT/Avgmzu7mx8MaTPcSXF5rPibV/E3ibXgD9N6AP5fv8Ag7t+BPhv4p/8EevHPxP1OJ08Qfsz/GX4L/E7wxeQiNZS3jPxpYfArWdLuZGRpG0y90/4sDUZreNk8zU9F0edyVtNpAP8oigAoAKACgAoAKAP98L4aeOtA+KHw58AfEvwnqVprHhb4h+CfCvjnw1q9hPHc2OqaB4t0Kw1/R9RsrmEtFcWl9p2oW1zbzxExywypIhKsDQBzXx6+B/w5/aW+C3xR/Z/+L2j3Wv/AAw+MXgjxB8PfHejWWr6poN5qHhrxNp82m6nb2ms6LdWWqabcmCZmgu7K6imilVWyybkYA/z2vC9j+1R/wAGh37fOrXev+G9U/aI/wCCYX7WeuaTol58QNP0HSYvF9/pHhyXWL3QLSbWo4LK18MftB/CjTdZ127bwheX2m+APjR4Wm1fUdHi0S+El58LAD/Qg+APx++D37Ufwe8BfHz4B+PdC+Jnwl+JmhQeIfB3jHw9O0tlqFlKzw3FrdW8yQ32ka3pF9DdaR4g8P6va2Ot+Htbsb/RdasLHVLG7tIQD2CgD+c3/g628b6D4T/4IiftPaDrGo2llqHxN8afs6eCPCttczxxTavr2n/tAfDr4kXOn2EbkNc3cXhj4feI9WeCINItjpl7ckeVbyEAH+RzQAUAFABQAUAFAH+pj/wac/8ABUHwz+1d+xJo37Fnj7xNZx/tG/sZ6FB4Y0jRb+7totV8dfs4QXcVn8OPFei2aWtitzbfDeK8s/hP4it7EajNpFppPgbWddvhd+OLSMgH9Y9AHgn7Tv7MXwO/bG+B3j79nT9ovwDpHxI+E3xI0h9K8ReHdVRklhlRhPpmvaDqcBj1Dw94p8PahHb6v4b8SaRcWmr6Hq9pa6hp91DPCrUAfDv/AASM/wCCTfwr/wCCRfwL8d/BX4ZfFP4nfFlfiF8T9e+Imta/8QNVkgsLOCWWTS/CWkeH/A2m3R8IeHb/AEzwhb6Np3jHxPpGn2mrfEHxDZy6zqhsdDs/CXhHwiAfq7QB/mff8HgH/BT/AMM/tIftAeAf2Avg14ls/EPw5/ZS13VvFXxs1fSLq3vtI1j9o7UbC48PQ+E4bhLV1e5+DHhS71vRdXuNP1SWFfFvjzxb4X1eyt9X8FsAAfxkUAFABQAUAFABQB7t+zR+0v8AG39kD42+A/2iP2d/HmrfDf4tfDfVhqvhrxLpRilGJYpLTUtI1fTbuOfTtd8O67p09zpWv6BqttdaXrGl3VzZXttLFKQAD/S9/wCCX/8Awdi/sR/tX+GfDPgH9tLWdC/Yy/aMjs7Sw1nVvFE93B+zj461WK2u3vNa8KfEi8ku4fhxbXCWJvrjw78WbzSLTSJtRsdC0bxz44vBJdkA/qR8D/En4dfE7QNO8V/Dbx94L+IXhfWLSC/0nxJ4H8U6H4s0HVLG5jEtte6drGg31/p97aXEREkNxbXEsMqEOjspBoA8x+Ov7WP7MP7MHhuXxd+0V+0H8G/gl4difyU1L4nfEbwp4NS8ujG8qWGmW+t6pZ3eranMiO1vpml295qFztIt7aRhigD+H7/gsh/wd0eH/EfhDxR+zr/wSrl8RJc+IbW60Txb+2F4l0TUfCtxpuj3loiXdt8BPBuuwWfiaz1y6FxLYyfEXxzpWgXvhw2l43hTwneX97ovjbRQD+BK8vLvULu6v7+6uL6+vbie8vb28nlubu7u7mVprm6urmZnmuLi4md5Z55XeWWV2kkZmYkgFegAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgB8cbyyJFEjySyOscccal5JHchUREUFmdmIVVUEsSAASaAPR/Dvw11XVwk18ZNPiaSHZCIlkuJYnCNJuYybbSTbIqJG8c9yr+YZbRRGqygHvPh34M6dtQDS4rgukAke8i+1yMY4yfMKziVYxOz4Y2yWYZv+WY2RogB7VpnwjaQB3t2cFV3owLjfgcjeHIjG4n922SQu7cMZAOri+CMbgObQFSDgCNVOQccn5xjg8Y9Oe1AEVx8FUgUt9jDZyVURAnAI4JHfB6hcZ67RyADhNc+EIaKSCa0SaJ8B45oUeLy1ZnQvFsWF5Y5FR8sjhWUEjCfKAeGeJvg3Z7ZnhtW0+4OGElqCscbJBIixyWwxbBNyLLIkcFoz4Ba6RnkZwDwrxB4K1jQZJGMMl7Zogc3cMRUoAkjStPbq8skUcXlSE3AaS1KeWTOsjmJADj6ACgB8cbyyJFEjySyOscccal5JHchUREUFmdmIVVUEsSAASaAPof4efDx4HivLyITajMCFUEMlojDDxROMrv2krd3akgAta2rFDNNOAfYvg34d+cYX8kEkrwEZMgksxVVOEXcS+AoYhUY4kXLAH1R4S+E7SCI/Z+CAwAQjORknpzkcP0BPJXNAH0RoXwfDKh+zZJCf8s+nA9FPUAcZHPPUCgD0K3+Do2D/AEQ4GVyqEHA7ZAI4+gHGAMYNAFW++DvyEfZAOC3+r6npk5Bz+XGTkkEigDyvxF8IQqSYtsEkcBOQecEcKc8kg4yTg5BJoA+a/F/wsMIlJt92AwXCEE5BO0HGcf3geGY/OSOKAPlTxh4Ba1MpWLc3JGFIJY43bHYnZISqsDgLK24SA7goAPi7x14Fl0mWbUtNhP2TLyXVrGhAtgDmS4t4xytup5uLcc2Ry6A2Z/0YA8soA9l+FvhaW7nOsTRKyOrQ2IyrkoJWjupcBCYJHMZtopPOicQi9Z0MTRs4B96/D/wP5/kHygS5AJC5zsPyqFAwqqANkakrnDbmBDUAfeXw4+GnmCA+RxgDlD1OAT2zkdxhuCAAAAAD7e8EfCxCkJNsOi87Dxk9SCcYPPP6dqAPpfQPhZGEjzbjoOSvp6nHTnHAH60Aej23wujCAC2HT+6TjHGPb359PSgCrffC6Mo3+jL34KkDI4zjtn8efrQB5J4l+FkZSTFuB97qnoMDPGCfTGPSgD5U8d/C1UWYi2AxuI+U59fXg8A46cjJ65APhX4kfDfyvP8A3GCN/wDASMEn2+76jnbkMp5ZSAfCvj7webVpWEXzNuOQMsSCFR9uVJkTJwVbdKoMZVssQAfBfjXw/JoOsTBY0SzvZJZrQIUAQqUa4gESxxeVHFJKptwI9n2WSACR5FlCAH2P8LPC0EcdnawQ4it44kUkQ7mBzmWQxRqPMkXEskoCH7RcySEZZwoB+kXwq8GiU2zmLBO0ZCgZ+7wQMHpyMHaDnHBoA/ST4Z+AkKwEw/3eNvuPbkdvY54ANAH3J4J8CKywKkBYttVUVCzMxwAqqASWJwAozu4AyTyAftr+zX/wSv8AGnjnTNO8U/FvUpvhl4cvIorm08PRWUd1451G1kXcj3VrdbbLwusqsjxLqMd/qalXS60W1BSRgD9LdA/4Jq/sk6NZxWt/4I1zxTNGgRr/AF7xp4mgu5mAwZJE8Nah4dsFdupENlFHn7qAcUAcz44/4Jd/sx+JrKWLw1Z+LPAF9tY291o3iK71q0WQghftdj4qOtS3EAJ3NFbX9hM2ABdIMggH44/tV/8ABPz4mfACCfX54rfxr8PjMsMfjXQrSaIae0rLHBF4m0d3nuNBlnlYRQ3IuL7SZZXggTUzeTpa0AflB478CRmOYGEEkNg7enX26de2c+9AHwR8UvAiotyRDggP/AMcnHYDkDrg5HGDxQB+avxT8ICE3AEQG7edxUEkgnBbA6Z4K8swwnQmgD81fjJ4ZX7HdTRw5uNPY3UZUwI0canNzHIzojbBbCeR44mG9rS1UF2RY3APsb4Q6Ksv2RhG2xthCn5QofDDYoQAREHAPIAGMgE7gD9S/hD4bQ/ZP3fPyZXjA6EfzBIGM9cc8gH6ZfDTw0gjtwIxnCH7vb8BjBGTjOOaAP6RP+CXn7JWkahZp+0L460uK9t7G/nsPhlpd7Esto+oadKYNT8YzQtujnk069STS9C8wMlvqNtqV/5QurPS7mIA/cygCKaaG2hmuLiaK3t7eKSaeeaRIoYYYkMks00shVI4o0VnkkdlREUsxABNAHI+BviF4L+JWkTa74G8Raf4k0q31C90ue7sJGYQ31hM0U8MsUqRzRbgEuLZ5I1jvLKa3vrVprS5gmkAOl1PTNO1nTr7SNXsbTU9L1O0uLDUdOv7eK7sr6yuomhubS7tp1eGe3nid45YpUZJEYqykEigD+WT/goH+ypB8APiXLDoEErfD7xtb3eu+CpJmaVtPEMyJrHhiWeRmlnl0Ge4tjbTSmSWXSb/AEx5557z7U4APxT+KfhpDHcHy+gcY24zwSeSPbr14HbNAH5f/F7w6ii5PlkkbyeeQeeQQDzlTggZJxzkYoA/LT4vaJEwu4Z498UyTQyISyp5To/moHRVeOV4VdRsdWUOQCg+6AfS/wAGbNJBZyMCG+TIwcnnIbr027SOOgJBBJNAH6vfB2wT/RQAvG3HGCegz6emew5AwBkgH6afDixQRQfKOAvQHHQDHp146Yx70Af25/CPwVZ/Dn4X/D/wLYRLFB4V8I6DozYUKZrq006BL+7lC4Bnvb77TeXDAAPPPI2BnFAHfzzw20M1zczRW9vbxSTzzzyJFDBDEhklmmlkKpHFGis8kjsqIilmIAJoA/Jv46fHTxp+0940X9n/APZ/WefwvPO8PiXxLC8ttba7bW0qJe3d3eojNp/gjT2ZTLKVM+vTmGGGGdJ7KyvQD74+AnwI8K/ATwanhzQc3+r6gYLvxT4knjEd5r2pxRsqv5YZxaabZCWaLS9OR3S1hkkklkuL25vLu4APcaAPzl/4Kh+CLLxN+zFe+JJYl+3eAPFfh3WrW4CjzFtdavB4VvbXcQSILiTWrK4kVcbprG2YnCcgH8j/AMUbBPLufl/hOfXAPOM+np15oA/Ln4xWKYu+OMODtHUkn5R655IBHGAMEZFAH5NfGu3WFLzaB8yy7mC7R0+UEAkZ+8c9Tz6UAeyfBadQlkGIDEIAMHG0AoDnpkhfXlug5AoA/WH4O3KZtTnOAoB6AgAY59wODjnI75oA/TL4cXCmKDkdF/MEH1xjPGaAP7j/AApr1p4p8LeGvE+nypPYeI9A0fXbKaMho5bTV9OttQtpEYcFHhuEZSOCCDQBF4w8J6L468L654P8RQS3OieItOuNM1KGC4mtJmtrhcMYbmBklhljYLJG6krvQB1eMsjAH5E2Mfj7/gn/APFqeS8spPFvwg8cTQ2smqQ2sCXWo6fZyTS2wjudqrp3izQY7meR9Nkmj03WrZ5njEayRXWlAH66+EPF/hzx74c0rxb4T1W21nQNZtlurC+tmJVlJKyQzRsFltru2lV7e8tLhI7i1uY5IJ445Y2UAHS0AfBf/BSrXrPR/wBknxxYXUqRzeKNb8F6FYK7AGa7g8T6d4keOMHlnWw8PXsxA5CRO3RTQB/IJ8UblPLuOR0b2AyeSfpxx+tAH5cfGG5QC7wwGd7cjv8ANwe3Kkk+gBJIxQB+SvxulDx3YQgqRIScEHKrwOccYfnj0560AdR8H9XCm03OjONgYqygAgAEMN2FkYqd3AHy424GAAfqn8INeRfsnzj+HjeOOBn1znB6Hknr6AH6Z/DXX0Mdud4IIToeucDOeOo56UAf1bf8Eyf2i9N+I/wnt/hFrWoRjxr8MrUw6ZBPKouNa8DPOP7NurZTt8xvD01wNDu4olYW1kuiyuzNdvsAP08oA5Dx34E8LfEnwtqng7xjpcOraFq0JjngkG2aCZcm3vrG4A8yz1CzkxNaXcJWSGRQQShdGAPL/wBnv4AaL+z74Z1fw/pOv6x4hk1rWp9Vu7vUpGhto0QvBp0FnpMU0ljZzxWAgj1K+hUXOq3UfmzNHaQafY2IB7/QB/PB/wAFUv2k9M8ceM9N+EXhbUYrzw98M5r2fxFdW0qyWt/45uo/slxaK6hlkXwvYiXT2ljcFdT1DWbSRCbRHYA/nn+KfiBBFcjzBkhgBkDjnA79+fwP0IB+Xvxg11WF1hwciQcsOOSfUDOSM4OeOCOSQD8r/i7qgle4QOCHLK6ghpPmDIuAWJEYd0YkDI5wWBG4Ayvhb4jSP7MyTrIjiNo3SSORXRtuJUkBzIZDsm3HcipKsm5gFJAP0q+E3jERi2BlAI2855ONvQfePru/u47YoA/Sz4ZeN02QDzh1XHze4685z/TkZ4FAH6EfBn4zeJPh74k0Lxj4O1260LxJoV0l5pupWbrvifaySxSxOrw3NncwvLbXlncxTWt5azTW1zDLDK6EA/pF/Zz/AOCmvwm+JGm6fo3xcuLX4Y+NhHFBPqc4nfwNrVwFIa5tNT/fy+HmkKtLLZ66y2VsGRIdavHbYgB+juheKvC/ii0i1Dw14k0HxFYToskN7oesafq1pLGwyrx3NhcXELow5DK5BHINAHN+NPi18MPh1ZS3/jrx/wCEfCtvErNjWde06zuZioLGO0sZLj7bezkAlbezt553wdkbUAfjx+1r/wAFQ7G+0fVPA37PT39nDfQzWep/E2+gl02+NrKhSWLwdps4jvrCSdGMZ13VIrW/tVMv9n6bbXIttUiAP58vHnjYOLiR7guzF2dnfczMxLMzEklnYnLEnLHJJJJJAPgf4p+N0KXIEw+6+PmzjnkYB5HpkZ6+9AH5m/FjxcJDc/vARhySpBBwSemPmyAQIzgnnBzkEA/Mr4zeIl/s7VCXRzcRS2aRmeOMtJd5gYR4DtOI1le5Cn5mFnJ9zDSIAcJ8JfFmyFNNZ5BdWACp5k283EEsriIxqW3rHArJaSIY5Iogtj8+x/KjAP0E+HPjgQm3YznJPJYhgQDjp2IwN/Cydyo4UAH6A/Db4kqi24NxnO08N9CeATzzkEcEbSG9AD7j8EfE1NkIM56LzuPt79c/h3HXNAH0toHxKjKR4uAQR03gnt0yfr096APRbf4jxFB+/wC397H8jn0xn8e1AFW9+I8QRsTdv7wJ/U59cZ7e9AHk3iX4lxhHJuR0bo+fX0PIx29Ocd6APlXx58TEKTDzyB8wPOfXnr0+vPUHigD4O+JfxHD+fi4x98dQSQSc9+c4+UHqckgKM0AfAPxE8ZGbztkxJIcn5sg7GDMwVQW2oNxOwKCwwrrIBuAPz6+JXiIavqosYXkaLT5JTM/nBopbiRYwq+WryL5lookSR3betzPdxCOMKzSgHC6Zqd5pF5He2UmyWP5WVsmKeIkF4J0BXzInwMjIZWCyRtHKkcigH1j8PviDHfRxzQyMkqNGl1avIDLFKQdoLYAZmAY21yFVLpA0cipcJLEoB9l+BviMYPI23J3ZAGMjhhyecYI5+Td/rFYDoxAB9ceDviyIxEDc4IAx82Mnufvd2+7j5ffHNAH0foHxfwqf6XnhdwDdOOuMg4PU8E9D7gA9FtvjEdg23QHHUuAMDpg5Ab1B68kZ4NAFW/8AjDlDm65IPRhyRwMHPzE9gDgAZxjFAHk/iT4vZST/AEvn+Ib+2D3BP1IB5wcZPUA+YvGXxVaQShLg5G4jLYzxkg/Njng5GTsOcEUAfIHjj4gef5u2cuSGIBJTOclizcBVUYaR852ldpIZTQB8X/EP4hvA8tnZyibUZgCzEBktEYZSWVDld+0hrS0YEAFbq6UoYYZwD54kkeWR5ZXeSWR2kkkkYvJI7ks7u7EszsxLMzEliSSSTQAygDQ0zU7zSLyO9spNksfysrZMU8RILwToCvmRPgZGQysFkjaOVI5FAPePCfxahTYupSCwuhJDHvYyywXBfaGkEpRlgjV/MDx3bqIopE/05083ywD6S8OfFLy0gdbkOkixukiybkdZIwY3iO794ZDwvkvKioy+WwDBiAez6R8YSmxTdfOVVthkCnaFTKkEgtIBu42jA3Z4yAAdvB8aVVVX7aN6g5Jk2jGexcKM4Iz/ABHk88mgCtd/GdZEKpd5YbuN55Y4AwQNuAck4YAgAjJAoA871r4vCVHK3RZdxDkPvAC7yXypOYwAcEkLgqCMA7gDwzxT8U4o4Jbi5vEt4gCN0kgwX8qWQRw4JWV9q7o0j+0XG5WWOJ8FQAfNnin4pT3cssOjhXRl5vpllCEurk+VayLGXkgJh8uW5AhDxOi2TRFZHAPHZJHlkeWV3klkdpJJJGLySO5LO7uxLM7MSzMxJYkkkk0AMoA//9k='filter='url(%23a)'%3E%3C/image%3E%3C/svg%3E)

الناتج المتوقع:
غير معروف ، ولكن يمكنك الاختبار عن طريق لصق رمز CSS base64 في شريط عنوان url ومعرفة ما إذا كان يعمل بشكل صحيح.

هذا يضغط جيدًا بالنسبة لي أيضًا: (هل يمكنك أن تعطيني إعداداتك. py ، بعض السياق الإضافي لملف css (من الناحية المثالية الملف الكامل) والقالب الذي تقوم بتضمينه فيه؟

karyon إن css هو في الحقيقة مجرد تجاوز للسهم التالي / السابق لـ swiper.js ، لذا فإن باقي الكود غير ذي صلة إلى حد كبير. كل ما أعرفه هو أن CSS يعمل بشكل مثالي حتى أقوم بلف علامات {% compress css %} حول ملف swiper-overrides.css . الخطأ الذي أحصل عليه هو:

هذه الصفحة تحتوي على الأخطاء التالية:
خطأ في السطر 1 في العمود 10: خطأ في تحليل اسم السمة
يوجد أدناه عرض للصفحة حتى الخطأ الأول.

بالنسبة للإعدادات py:

import os
import sys
import dj_database_url

from django.contrib.messages import constants as messages

# Normally you should not import ANYTHING from Django directly
# into your settings, but ImproperlyConfigured is an exception.
from django.core.exceptions import ImproperlyConfigured


def get_env_variable(var_name):
    """Get the environment variable or return exception."""
    try:
        return os.environ[var_name]
    except KeyError:
        error_msg = "Set the {} environment variable".format(var_name)
        raise ImproperlyConfigured(error_msg)


# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))

SECRET_KEY = get_env_variable('DJANGO_SECRET_KEY')

DEBUG = True

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.postgres',
    'django.contrib.sites',
    'django.contrib.humanize',

    # 3rd Party Packages
    'compressor',
    'storages',

   'main'
]

MIDDLEWARE = [
    'debug_toolbar.middleware.DebugToolbarMiddleware',  # Should be as high up as possible
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'tz_detect.middleware.TimezoneMiddleware',  # dj-tz-detect
    'django.middleware.security.SecurityMiddleware'  # Needed to make SECURE_SSL_REDIRECT work
]

ROOT_URLCONF = '<app>.urls'

WSGI_APPLICATION = '<app>.wsgi.application'

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.contrib.auth.context_processors.auth',
                'django.template.context_processors.debug',
                'django.template.context_processors.i18n',
                'django.template.context_processors.media',
                'django.template.context_processors.static',
                'django.template.context_processors.tz',
                'django.contrib.messages.context_processors.messages',

                "django.template.context_processors.request",
            ],
            'debug': True,  # Note: Enabled on dev/staging sites only.
            'string_if_invalid': 'INVALID VARIABLE (Check Template): %s'  # Note: Enabled on dev/staging sites only.
        },
    },
]

# dj-tz-detect
TZ_DETECT_COUNTRIES = ('US',)

SITE_ID = 1

DATABASES = {'default': dj_database_url.config()}

ALLOWED_HOSTS = ['*']

AWS_S3_SECURE_URLS = True
AWS_QUERYSTRING_AUTH = False
AWS_ACCESS_KEY_ID = get_env_variable('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = get_env_variable('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = '<app>'
AWS_S3_CUSTOM_DOMAIN = "s3.amazonaws.com/{0}".format(AWS_STORAGE_BUCKET_NAME)

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'compressor.finders.CompressorFinder',  # django-compressor
)

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "staticfiles"),
)

STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

MEDIA_URL = "https://{0}/media/".format(AWS_S3_CUSTOM_DOMAIN)
STATIC_URL = "https://{0}/static/".format(AWS_S3_CUSTOM_DOMAIN)

DEFAULT_FILE_STORAGE = '<app>.s3utils.MediaS3BotoStorage'
STATICFILES_STORAGE = '<app>.s3utils.CachedS3BotoStorage'

COMPRESS_STORAGE = STATICFILES_STORAGE
COMPRESS_URL = STATIC_URL
COMPRESS_ROOT = STATIC_ROOT

COMPRESS_ENABLED = True
COMPRESS_CSS_FILTERS = ['compressor.filters.css_default.CssAbsoluteFilter', 'compressor.filters.cssmin.rCSSMinFilter']
COMPRESS_JS_FILTERS = ['compressor.filters.jsmin.JSMinFilter']

يقوم RCSSmin أيضًا بتشكيل نفس القاعدة من Bootstrap 4 ، وإن كان بطريقة مختلفة عما أعتقده CssAbsoluteFilter فعل ؛ يزيل المصغر المسافات من البيانات: URL. لذلك إذا كنت تواجه مشكلة في إصدار django-compressor الذي تم إصلاح هذا الخطأ فيه بالفعل ، فقد تضرب ndparker / rcssmin # 8 بدلاً من ذلك.

إعادة قراءة هذا و # 910 يبدو لي أن المشكلة الأصلية (اقتباس خاطئ) قد تم إصلاحها بالفعل وأن المشكلة المتبقية (إزالة المسافة البيضاء) موصوفة في # 910. شكرا @ Hybridx24 و jsma وjameysharp.

لما يستحق الأمر ، لقد واجهت نفس المشكلة عندما تم تمكين compressor.filters.css_default.CssAbsoluteFilter ، وضغط Bootstrap 4.

dwasyl هل تم تمكين RCSSmin أيضًا؟ هل يمكنك لصق ناتج تجميد النقطة وإدخال css والإخراج الفعلي والإخراج المتوقع؟

karyon معذرة ، لم

ما أراه كقيمة غير مضغوطة هو هذا:
url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e)

ثم بعد الضغط:
url("data:image/svg+xml,%3csvgxmlns='http://www.w3.org/2000/svg'width='30'height='30'viewBox='003030'%3e%3cpathstroke='rgba(255,255,255,0.5)'stroke-linecap='round'stroke-miterlimit='10'stroke-width='2'd='M47h22M415h22M423h22'/%3e%3c/svg%3e)

في الإعدادات ، لدي:

COMPRESS_CSS_FILTERS = [
    'compressor.filters.css_default.CssAbsoluteFilter',
    'compressor.filters.cssmin.CSSMinFilter'
]

بقدر تجميد PIP:

django-compressor==2.2
rcssmin==1.0.6

شكر. الذي يشبه بالفعل # 910.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات