我正在通過構建一個簡單的Q &網站來學習Django。下面的模型,網址,查看和模板的代碼添加所需/從數據庫刪除書籤...試圖讓Django和jQuery一起通過「添加/刪除書籤」鏈接添加/刪除書籤
Model:
class Bookmark(models.Model):
user = models.ForeignKey(User)
question = models.ForeignKey(Question)
Url:
url(r'^add_remove_bookmark/(\d+)/(\d+)/$', views.add_remove_bookmark),
View:
@login_required
def add_remove_bookmark(request, uid, qid):
try:
bookmark = Bookmark.objects.get(user=uid, question=qid)
bookmark.delete()
except Bookmark.DoesNotExist:
bookmark = Bookmark.objects.create(
user=User.objects.get(id=uid),
question=Question.objects.get(id=qid))
bookmark.save()
return HttpResponseRedirect('/qa/answers/' + qid)
Template:
<a href="/qa/add_remove_bookmark/{{ user.id }}/{{ question.id }}/">Add Bookmark</a>
這jQuery代碼切換之間的「添加書籤」和「刪除書籤」如果我修改我的模板標籤鏈接包括class =「add-remove-bookmark」。但是,一旦我將class =「」添加到標記,單擊鏈接無法更新數據庫。底線,我希望用戶點擊「添加書籤」並讓代碼將書籤添加到數據庫並將鏈接切換到「刪除書籤」。反之亦然。我究竟做錯了什麼?謝謝。
相關問題 - 我想我需要一種方法來測試 - 從我的模板中 - 如果書籤存在的問題,所以我可以顯示正確的初始值爲切換鏈接:即添加如果它不存在,否則刪除。我試圖想到一個函數,我可以添加到我的問題模型(例如Question.user_has_bookmarked),但不能提出任何有用的東西。
出現什麼錯誤? – alexander