/ / Django के कैशिंग मिडलवेयर Gunugorn में काम नहीं कर रहा है डीबग = झूठी - django, कैशिंग, बंदूकधारी

डीजेगो के कैशिंग मिडलवेयर डीबग = झूठी - डैंजो, कैशिंग, गनकोर्न के साथ गनिकोर्न में काम नहीं कर रहे हैं

मेरे पास एक Django परियोजना है जो Gunicorn और nginx के साथ तैनात है। मेरे पास साइट पर कैश करने के लिए एक मेमकैच रनिंग और Django कैश मिडलवेयर () भी स्थापित है।

DEBUG = True के साथ चलते समय सब कुछ ठीक काम करता है, लेकिन जब मैं DEBUG = गलत पर स्विच करता हूं तो मुझे साइट तक पहुंचने का प्रयास करते समय गनिकॉर्न लॉग में निम्न त्रुटि मिलती है:

2013-02-20 16:09:50 [25196] [ERROR] Error handling request
Traceback (most recent call last):
File "/home/toursprung/.virtualenvs/myproject/lib/python2.6/site-packages/gunicorn/workers/sync.py", line 102, in handle_request
respiter = self.wsgi(environ, resp.start_response)
File "/home/toursprung/.virtualenvs/myproject/lib/python2.6/site-packages/django/contrib/staticfiles/handlers.py", line 67, in __call__
return self.application(environ, start_response)
File "/home/toursprung/.virtualenvs/myproject/lib/python2.6/site-packages/django/core/handlers/wsgi.py", line 247, in __call__
status_text = STATUS_CODE_TEXT[response.status_code]
AttributeError: "NoneType" object has no attribute "status_code"

अजीब चीज यह है कि मुझे त्रुटि ईमेल में एक और त्रुटि मिलती है जो Django मुझे भेज रहा है। यहां मुझे निम्न मिलता है: (जीजेआईपी मिडलवेयर में एक त्रुटि। Wtf?)

Traceback (most recent call last):

File "/home/toursprung/.virtualenvs/myproject/lib/python2.6/site-packages/django/core/handlers/base.py", line 188, in get_response
response = middleware_method(request, response)
File "/home/toursprung/.virtualenvs/myproject/lib/python2.6/site-packages/django/middleware/gzip.py", line 16, in process_response
if len(response.content) < 200:
File "/home/toursprung/.virtualenvs/myproject/lib/python2.6/site-packages/django/http/__init__.py", line 699, in _get_content
return "".join([str(e) for e in self._container])

UnicodeEncodeError: "ascii" codec can"t encode character u"x8b" in position 26: ordinal not in range(128)

कोई भी एक सुराग क्यों हो रहा है?

अग्रिम में धन्यवाद, एंटोन

उत्तर:

उत्तर № 1 के लिए 1

यह मेरे midwares का आदेश था!

यह वह आदेश है जो मेरे पास था, जो है गलत:

MIDDLEWARE_CLASSES = (
"django.middleware.cache.UpdateCacheMiddleware",
"myproject.middleware.StripCookieMiddleware", # fix caching problem with analytics cookies
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.locale.LocaleMiddleware",
"django.middleware.common.CommonMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.gzip.GZipMiddleware",
...
"django.middleware.cache.FetchFromCacheMiddleware"
)

मैं चले गए GZipMiddleware नीचे नीचे UpdateCacheMiddleware (ठीक है, मेरा छोटा मिडलवेयर है जो Google एनालिटिक्स कुकीज़ को बीच में स्ट्रिप्स करता है) और अब सबकुछ अपेक्षित के रूप में काम कर रहा है।

तो यह है सही मध्यवर्ती आदेश:

MIDDLEWARE_CLASSES = (
"django.middleware.cache.UpdateCacheMiddleware",
"myproject.middleware.StripCookieMiddleware", # fix caching problem with analytics cookies
"django.middleware.gzip.GZipMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.locale.LocaleMiddleware",
"django.middleware.common.CommonMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
...
"django.middleware.cache.FetchFromCacheMiddleware"
)

शायद यह भविष्य में किसी की मदद करेगा ...