سؤال

لديّ مشروعان في Django والبديل بين أحدهما والآخر بين الحين والآخر. جميعهم لديهم A / Media / Path ، والذي يتم تقديمه بواسطة django.views.static.serve, ، وهم جميعًا /media/css/base.css ملف.

المشكلة هي ، كلما قمت بتشغيل مشروع واحد ، تطلب BASE.CSS أعد HTTP 304 (لم يتم تعديله) ، ربما لأن الطابع الزمني لم يتغير. ولكن عندما أقوم بتشغيل المشروع الآخر ، يتم إرجاع نفس 304 ، مما يجعل المتصفح يستخدم الملف المخبأ بواسطة المشروع السابق (وبالتالي ، باستخدام ورقة الأنماط الخاطئة).

فقط للسجل ، إليك فصول الأوساط الوسيطة:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.middleware.transaction.TransactionMiddleware',
)

أنا دائما أستخدم العنوان الافتراضي http: // localhost: 8000. هل هناك حل آخر (بخلاف استخدام منافذ مختلفة - 8001 ، 8002 ، إلخ)؟

هل كانت مفيدة؟

المحلول

يمكنك لف البرامج الوسيطة الخاصة بك لذلك:

class NoIfModifiedSinceMiddleware(object):
    def process_request(self, request):
        request.META.pop('HTTP_IF_MODIFIED_SINCE', None)

في الأساس ، يزيل رأس HTTP_IF_MODIFITY_SINCE من الطلب.

الفكرة اللاحقة: أو يمكنك monkeypatch django.views.static.serve واستبدال was_modified_since يعمل من قبل واحد ، الذي يعود دائما True.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top