Sample.objects.filter(sampledate__gt=datetime.date(2011, 1, 1),
sampledate__lt=datetime.date(2011, 1, 31))
Sample.objects.filter(date__range=["2011-01-01", "2011-01-31"])
if request.is_ajax():
JsonResponse(
# data, encoder=DjangoJSONEncoder,
safe=False,
# json_dumps_params=None,
{'like_counter': 42})
# https://docs.python.org/3/library/decimal.html
from decimal import Decimal
class Product(models.Model):
price = models.DecimalField('Цена')
# подумай, почему никто никогда не использует флоат для денег
discount = models.IntegerField('Скидка')
def get_price_with_discount(self):
return self.price * Decimal(self.discount)
def get_common_context():
# do something
return {'answer': 42, 'foo': 'bar'}
def index_page(request):
context = get_common_context()
context['buzz'] = 123
return render(request, 'index.html', context)
class MyCommonContext(ContextMixin):
def get_context_data(self, **kwargs):
context = super(RandomNumberView, self).get_context_data(**kwargs)
# тут нужно определиться, какой контекст главнее и тот должен быть последним
context.update(get_common_context())
context['buzz'] = 123
return context
class ArticleDetailView(MyCommonContext, DetailView):
model = Article
Но продукт не появляется в таблице сразу при нажатии кнопки, он появляется только после обновления страницы. Как это исправить?
$('.btn-default').click(function(e){
var product = $('select option:selected').val();
var data = {product: product};
$.ajax({
type: 'GET',
url:'{% url "cart" %}',
data: data
})
.success(function (data) {
console.log(data);
// вот тут организуй рендеринг новой корзинки в тело хтмл
$('.table tr').remove();
html = '';
for(var i;i<data.length; i++) {
html += '<tr><td>'+data.sku+ '</td></tr>'
}
$( html ).insertAfter( ".table thead" );
})
;
});