2016-12-31 95 views
2

我在嘗試按照this tutorial嘗試使用django rest框架篩選器時發生錯誤。錯誤出現,當我嘗試導入庫:導入django_filters.rest_framework錯誤

from django_filters.rest_framework import DjangoFilterBackend 

和錯誤消息是

ImportError: No module named 'django_filters.rest_framework' 

僅供參考我使用這些版本庫:

Django==1.10.3 
django-crispy-forms==1.6.1 
django-filter==0.11.0 
djangorestframework==3.5.3 

謝謝

+0

你有點安裝並將其添加到您的設置? – Bobby

+0

當然,我已經安裝了它們 –

回答

2

django-過濾器在0.15 0123中添加了rest_framework子包。問題是您的環境最初安裝了0.11。

+0

任何想法爲什麼我沒有得到最新的版本,即使'''點 - 升級'''?卸載並重新安裝軟件包後,我只能獲得最新版本。 –

+0

您需要運行'pip install --upgrade',而不是'pip --upgrade' – Sherpa

0

做完之後

import django_filters

使用help(django_filters)

你應該看到

PACKAGE CONTENTS 
compat 
conf 
constants 
exceptions 
fields 
filters 
filterset 
models 
rest_framework (package) 
utils 
views 
widgets 

從這一點,你可以告訴rest_framework是包裹它的自我,所以做

from django_filters import rest_framework

+0

令人驚訝的是,我第一次運行'help(django_filters)'時,軟件包內容中沒有rest_framework軟件包。之後,我卸載然後重新安裝Django的過濾器,現在它可用和運行良好。謝謝。 –