Meine Eigenen Like-Button: Django + Ajax — Wie?
Also ich habe schon Schwierigkeiten haben, drehen Sie diese Ansicht in einen Ajax-Aufruf:
def company_single(request, slug):
company = get_object_or_404(CompanyProfile, slug=slug)
company_list = CompanyProfile.objects.get(slug=slug)
try:
tcompany = CompanyLikes.objects.get(company=company_list)
total_likes = tcompany.likes
user_liked = CompanyLikes.objects.get(user=request.user)
except:
total_likes = 0
instance, created = CompanyLikes.objects.get_or_create(company=company_list)
likes_form = CompanyLikesForm(request.POST or None, instance=instance)
if likes_form.is_valid():
this = likes_form.save(commit=False)
try:
if user_liked:
this.likes -=1
this.user.remove(request.user)
except:
this.user.add(request.user)
this.likes += 1
this.save()
return render_to_response('company.html', locals(), context_instance=RequestContext(request))
Ich glaube, ich muss jQuery und JSON, aber ich bin mir nicht sicher, wie es zu implementieren, hier meine eigene "like-button" für meine Website. Irgendwelche Gedanken/Vorschläge?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich werde Ihnen ein Beispiel geben. Sie nur lernen von ihm und nehmen Sie entsprechende änderungen vor.
myapp.models.py (vereinfacht Unternehmens-Modell):
myapp.urls.py (URL für eine view):
myapp.views.py (View):
Vorlage:
Einige Anweisungen für Die Verwendung der url - tag in der Vorlage:
Django < 1.3
verwendenurl
tag ohne Anführungszeichen um URL-Namen wie diese{% url like %}
Django > 1.3 and < 1.5
dann sollten Sie{% load url from future %} at top level of your template and enclosed your URL name with quotes as I have done in my answer
Django >= 1.5
dann entfernen Sie einfach{% load url from future %}
- und geschlossene URL-Namen mit Anführungszeichen als{% load url from future %}
ist gekennzeichnet als veraltet und wird entfernt werden, inDjango 1.9
company
Modell slug Feld..? Ich bin immer diese FehlermeldungCannot resolve keyword 'slug' into field. Choices are: content, creation_date, id, like, title, user, user_id
Schreiben dieses hier, da ich nicht genug Ruf zu kommentieren und änderungen müssen mindestens 6 Zeichen lang sein. In neuen Versionen von Django, du musst den Pfad zu der Ansicht, die Funktion oder den Namen der url, um die url-template-Tags ein string. Also Zeile 7 von oben genannten Vorlage wäre:
Ist hier der Teil, der Dokumentation, dass sichert dies.