2016-07-16 2 views
3

с использованием python 3.4, django 1.9.7, django_ajax 0.2.0; и тест в python 2.7; Вот мой код:ImportError: не может импортировать имя 'ajax'

from django_ajax.decorators import ajax 
from models import Product 
from cart.cart import Cart 

@ajax 
def ajax_add_to_cart(request): 
    if 'product_id' in request.GET and request.GET['product_id']: 

     product_id = request.GET['product_id'] 

     product = Product.objects.get(id=product_id) 
     cart = Cart(request) 
     cart.add(product, product.price, quantity=1) 
     items_in_cart = cart.itemCount() 

     return {'items_in_cart': items_in_cart} 

Я получаю эту ошибку:

from django_ajax.decorators import ajax 
ImportError: cannot import name 'ajax' 

TNX за помощью

+1

Добро пожаловать в SO. Вы добавили 'django_ajax' в список INSTALLED_APPS? – kapilsdv

ответ

2

Вы, видимо, установлен неправильный пакет из-за сходства с именем другого пакета. Обычно это происходит.

Вы установили django_ajax 0.2.0, в то время как вы намерены использовать djangoajax, который имеет декоратор ajax. Первые не имеют или не используют декораторов.

Удалить django_ajax с:

pip uninstall django_ajax 

Затем установите djangoajax, который обычно импортируется как django_ajax и будут добавлены в django_ajax к INSTALLED_APPS:

pip install djangoajax 

Ваш импорт больше не будет поднимать ошибка:

>>> from django_ajax.decorators import ajax 
>>> 
+0

Вау ... его работа ... Tnx много :) –

Смежные вопросы