我使用来自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>
我不想在这里转储我的代码,但我真的不知道如何解决这个问题。任何帮助将不胜感激
答案 0 :(得分:2)
尝试内容类型&#39;而不是mimetype
答案 1 :(得分:1)
mimetype has been deprecated for a long time and has been removed