2015-09-16 5 views
0

Мне просто интересно, почему моя кнопка «как» не может работать.Танго с Django - Создайте кнопку «Мне нравится»

Вот мой like_category() функция в views.py

@login_required 
def like_category(request): 

    cat_id = None 
    if request.method == 'GET': 
     cat_id = request.GET.get('category_id', '') 

    likes = 0 
    if cat_id: 
     cat = Category.objects.get(id=int(cat_id)) 
     if cat: 
      likes = cat.likes + 1 
      cat.likes = likes 
      cat.save() 

    return HttpResponse(likes) 

И Ранго-ajax.js код:

$(document).ready(function(){ 

    $('#likes').click(function(){ 
     var catid; 
     catid = $(this).attr("data-catid"); 
     $.get('/rango/like_category/', {category_id: catid}, function(data){ 
      $('#like_count').html(data); 
      $('#likes').hide(); 
     }); 
    }); 
}); 

А вот category.html код:

<p> 

<strong id="like_count">{{ category.likes }}</strong> people like this category 

{% if user.is_authenticated %} 
    <button id="likes" data-catid="{{ category.id }}" class="btn btn-primary" type="button" action="/rango/like_category/"> 
    <span class="glyphicon glyphicon-thumbs-up"></span> 
    Like 
    </button> 
{% endif %} 

</p> 

И вот часть кода в base.html:

{% load rango_extras %} 

{% load staticfiles %} 
<script src="{% static "js/jquery-1.11.1.js" %}"></script> 
<script src="{% static "js/rango-jquery.js" %}"></script> 


<script src="{% static "js/jquery.js" %}"></script> 
<script src="{% static "js/rango-ajax.js" %}"></script> 

И я обнаружил, что мой код действительно такой же, как и у книги, но почему кнопка «как» просто не могла работать?

+0

Убедитесь, что ваши JS файлы подаются правильно, попробуйте открыть в вашем браузере в JS/Rango-ajax.js файл и обеспечить содержание такие же вы показываете в ваш код, сделайте то же самое с зависимостями jquery.js ... – avenet

+0

да, код rango-ajx.js - это то же самое, что и я ... –

+0

Другая вещь, которую нужно проверить, - это доступ к странице: '/ rango/like_category /? category_id = '. Замена cat_id действительным идентификатором категории ... сообщите мне, если он работает. – avenet

ответ

0

Потому что код, показанный выше, точно такой же, как и в книжном шоу, поэтому, возможно, проблемы там не произошло.

Когда я просмотрел свой код в файле base.html, я обнаружил, что я положил <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> в кнопку, тогда я помещаю этот код выше всех .js-файлов, а затем все снова идет хорошо.

Возможно, код очень важен, и я совершил глупую ошибку.

Во всяком случае, благодаря @avenet и @Jahongir Рахмонов

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