这是否发生是因为我没有设置url或者ajax是错误的还是app本身?

时间:2016-01-13 13:35:56

标签: jquery python ajax django

我使用来自https://bitbucket.org/last_partizan/django-favorites的django-favorite应用程序,它几乎可以使用。在我喜欢按钮的那一点上,如果我点击它,它会带我到http://127.0.0.1:8000/favorites/fav/9/14/,但它应该是ajax。点击后显示错误,如果我回去,我会看到1个人喜欢这个 和按钮一样改为不同。所以它有点工作。我不确定如何修复此错误:/ discover / fav / 9/14 /中的TypeError init ()得到了一个意想不到的关键字参数' mimetype' 这是我的代码。这里是views.py的最爱。

SELECT o.*, 
CASE 
    WHEN temp.Buylog_count IS NULL THEN 0
    ELSE temp.Buylog_count
END
FROM Owners o 
LEFT JOIN
(
    SELECT b.owner_id AS oid, COUNT(*) AS Buylog_count
    FROM Buylog b   
    GROUP BY b.owner_id 
)temp ON temp.oid = o.id 

def ajax_login_required(view_func): def wrap(request, *args, **kwargs): if request.user.is_authenticated(): return view_func(request, *args, **kwargs) json = simplejson.dumps({'not_authenticated': True}) return HttpResponse(json, mimetype='application/json', status=401) wrap.__doc__ = view_func.__doc__ wrap.__dict__ = view_func.__dict__ return wrap @ajax_login_required def ajax_fav(request, ctype_id, obj_id): """ """ ctype = get_object_or_404(ContentType, pk=ctype_id) item = ctype.get_object_for_this_type(pk=obj_id) if Favorite.objects.filter(user=request.user, content_type=ctype, object_id=obj_id): fav = Favorite.objects.get(user=request.user, content_type=ctype, object_id=obj_id) fav.delete() count = Favorite.objects.favorites_for_object(item).count() data_dict = {'id': 0, 'message': fav_settings.FAV_ADD, 'counter': build_message(count), } else: fav = Favorite.objects.create_favorite(item, request.user) count = Favorite.objects.favorites_for_object(item).count() data_dict = {'id': fav.id, 'message': fav_settings.FAV_REMOVE, 'counter': build_message(count), } return HttpResponse(simplejson.dumps(data_dict), mimetype='application/javascript') return view_func(request, *args, **kwargs)

发生错误

在这里' urls.py

return HttpResponse(simplejson.dumps(data_dict), mimetype='application/javascript')

收藏夹

的模板
    from django.conf.urls import *

urlpatterns = patterns('',
    url(r'^fav/(?P<ctype_id>\d+)/(?P<obj_id>\d+)/$', 'favorites.views.ajax_fav', name="ajax_fav"),        
)

{{counter}}

和js文件

<a class="favIt" id="FavIt_{{ item.id }}" href="{% url 'ajax_fav' ctype.id item.id %}">{{ message }}</a>

我不想在这里转储我的代码,但我真的不知道如何解决这个问题。任何帮助将不胜感激

2 个答案:

答案 0 :(得分:2)

尝试内容类型&#39;而不是mimetype

答案 1 :(得分:1)

mimetype has been deprecated for a long time and has been removed