2014-03-01 31 views
0

到目前爲止,我只能使用似乎已經安裝在我的系統上的django中間件。這是通過將相關行添加到我的settings.py文件中完成的。Django:無法安裝外部中間件

但是,現在我試圖安裝第三方中間件,並且遇到各種麻煩。

這個軟件包是django-mobi,並且在下面的說明中https://pypi.python.org/pypi/django-mobi/>當我運行apache重新啓動腳本時,我只是在瀏覽器中收到錯誤200修改settings.py文件後。

這是我做了什麼:

1)在我的項目路徑,其中谷歌搜索建議放置在「包」是指低於「MyProject的」下的任何內容:

$ ls 
django-mobi-0.1.7 django-mobi-0.1.7.tar.gz manage.py mobi myproject 

2)的添加行指定settings.py文件

MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'mobi.MobileDetectionMiddleware', 
) 

重啓動Apache沒有去年.mobi的線錯誤200註釋掉元組的結果,儘管我已經有了調試模式,所以它是爲O對診斷問題沒有幫助。

非常感謝您的幫助。

+0

一些中間件有一個順序,這意味着它必須是之前或之後的一些其他中間件,有沒有像在安裝任何要求進程 – Leonardo

+0

您是否在'settings.py'文件中設置了MOBI_REDIRECT_URL變量 – Leonardo

+0

嗨Leonardo,不應該有任何依賴性,因爲我已經將第三方代碼放在最底部。我沒有設置MOBI_REDIRECT_URL號碼,因爲我沒有看到任何指示 – Saj

回答

2

終於明白了。根據我未解決的目錄結構,需要在settings.py的路徑中添加一個額外的「中間件」文件名。所以,現在它看起來像這樣:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'mobi.middleware.MobileDetectionMiddleware', 
    ) 

,它工作正常

+0

'.middleware'位已添加到[django-mobi自述文件](https:/ /bitbucket.org/kencochrane/django-mobi)。 – Jheasly