2016-09-12 9 views
6

मैं अपने ऐप में सीओआरएस को अनुमति देने की कोशिश कर रहा हूं, ताकि मेरा क्रॉस-डोमेन जावास्क्रिप्ट क्लाइंट मेरे एपीआई तक पहुंच सके, मैंने django-cors-headers इंस्टॉल किया है। और अब मैं मिडलवेयर जोड़ने के लिए कोशिश कर रहा हूँ:ऑब्जेक्ट() django में कोई पैरामीटर नहीं लेता है 1.10

MIDDLEWARE = [ 
    'corsheaders.middleware.CorsMiddleware', # Remove this and it works 
    'django.middleware.security.SecurityMiddleware', 
    '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', 
] 

हालांकि यह मेरे एक लेखन त्रुटि देता है:

TypeError: object() takes no parameters

यह Django 1.10 अद्यतन से पहले ठीक काम किया। कोई विचार?

+1

आप अपग्रेड करने के बाद त्रुटियों उपलब्ध हो तो उसे एप्लिकेशन की GitHub मुद्दों की जाँच करता है, तो यह एक ज्ञात समस्या है देखने के लिए लायक है। अगर इससे मदद नहीं मिलती है और आप स्टैक ओवरफ़्लो पर एक प्रश्न पूछते हैं, तो कृपया * पूर्ण * ट्रेसबैक पोस्ट करें। – Alasdair

उत्तर

3

This issue कहता है कि django-cors-headers अब समर्थित नहीं है, और इसके बजाय django-cors-middleware का उपयोग करने का सुझाव देता है।

8

यदि आपके पास कस्टम मिडलवेयर है और आप MIDDLEWARE_CLASSES से MIDDLEWARE में स्थानांतरित हो गए हैं, तो आपको अपने मिडलवेयर को अपडेट करने की आवश्यकता है। विवरण: this Django documentation page। टी एल; डॉ, MiddlewareMixin से वस्तु की बजाय उपवर्ग:

from django.utils.deprecation import MiddlewareMixin 
class FOOMiddleware(MiddlewareMixin): 
    pass 
संबंधित मुद्दे