May 17, 2018, 11:50 a.m.


Django, filter, django-bootstrap3, ListView

Благодаря FilterView можно упростить и уменьшить код для отображения товаров, продуктов и тд. Что позволит уменьшить код в разы! Сначала я использовал ListView и писал много когда для того, чтобы можно было бы отфильтровать по запросам. Пока один из хороших знакомых мне не посоветовал django-filter . Прочитав про него больше я понял что это то что нужно. После, когда я хотел все свои вьюшки использовать как обьект. Это меня немного озадачило, пока знакомый снова меня не выручил подсказкой об использовании FilterView, а теперь более подробней обсудим её:

June 23, 2017, 4:12 a.m.


Battery, tagging, Framework, Django, ckeditor, REST, django-bootstrap3

The convenience of developing on Django is not only that it is already a developed Framework with rich functionality, but also the availability of a large number of high-quality batteries (packages) that implement the necessary functionality that it would be quite difficult to write independently, especially if you are developing Site alone.

In the process of more than half a year's development of the site on the COM domain, it was just such a package that greatly facilitates life and accelerates the development:

  1. django-ckeditor
  2. django-autocomplete-light
  3. django-tagging
  4. django-bootstrap3
  5. django-modeltranslation
  6. django-daterange-filter
  7. django-phonenumber-field
  8. django-rest-framework
March 15, 2017, 2:12 p.m.


Pagination, Django, django-bootstrap3, ListView

In one of the previous articles , the option of introducing a page with articles pagination was shown, which can be the main page of the site, for example. In this case, django-bootstrap3 was used.

But if the page does not represent any special functionality, in addition to displaying the list of articles, for example, then you must use the generic classes. One of which is ListView . This will reduce the program code of the project and, accordingly, simplify it.

The ListView class allows you to specify a template that will be rendered to display the table, specify a data model or queryset that will need to be shown, as well as the number of objects per page that will be displayed when paginated.


Let's recall how the previous View of the class looked to display the list of pages.

class IndexView(View):
    def get(self, request):
        context = {}
        # Taking all of the published article, sorted by date of publication
        all_articles = Article.objects.filter(article_status=True).order_by('-article_date')
        # Create Pagination, in which we send article and show,
        # that there will be 10 pieces on one page
        current_page = Paginator(all_articles, 10)
        # Pagination in django_bootstrap3 send response in this view:
        # "GET /?page=2 HTTP/1.0" 200,
        # So you need to pick up the page and try to pass it in Paginator, to find the page
        page = request.GET.get('page')
            # If there is, then choose this page
            context['article_lists'] =  
        except PageNotAnInteger:
            # If None, then select the first page
            context['article_lists'] =  
        except EmptyPage:
            # If you have gone beyond the last page, it returns the last
            context['article_lists'] = 
        return render_to_response('home/index.html', context)
Sept. 21, 2016, 12:12 p.m.


Pagination, django-bootstrap3, Python

The number of articles on the new site began to approach the 10 pieces, so urgently add Pagination, to be able to flip through the pages on the site. But as already used django-bootstrap3 module, and Pagination will be used in this module. Why do the extra work, when it is all done? Is not it.

To add Pagination is necessary:

  1. Use Paginator class from django.core.pagination;
  2. Add to bootstrap_pagination main page template-bound;
  3. Add the checking current page number;
  4. And ... do not add anything new to the url templates.
Looking for a Job?
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

For registered users on the site there is a minimum amount of advertising

Sept. 14, 2019, 7:30 a.m.

C++ - Test 001. The first program and data types

  • Result:93points,
  • Rating points8
Sept. 13, 2019, 1:49 p.m.
Ask Questions

C++ - Test 005. Structures and Classes

  • Result:83points,
  • Rating points4
Sept. 12, 2019, 3:42 a.m.

C++ - Test 005. Structures and Classes

  • Result:58points,
  • Rating points-2
Last comments
Sept. 14, 2019, 5:08 p.m.
Misha Lebedev

Приветствую вас Евгений , давно наблюда за развитием вашего замечательного портала, много полезно тут нашел , переодически зачитываюсь. Теперь по сушеству, делаю портал и там идеально ложи…
Sept. 10, 2019, 4:38 p.m.
Evgenij Legotskoj

function view для модели Article и LikeDislike.LIKE будет выглядеть так def like(request, pk): obj = Article.objects.get(pk=pk) try: likedislike = LikeDislike.objects.get(cont…
Sept. 10, 2019, 4:10 p.m.
Oliver Kolesnikov

тут view написан в class based view, если честно ничего не могу разобрать. Как это всё переписать в function view?
Sept. 4, 2019, 3:54 a.m.

thanks for the application, it helps me a lot
Sept. 1, 2019, 2:51 p.m.
Evgenij Legotskoj

Добрый день, Александр. Это Forward Declaration - Предварительное объявление. Позволяет объявить класс без подключения заголовочного файла в заголовочном файле другого класса. Такое об…
Now discuss on the forum
Sept. 16, 2019, 7:09 a.m.

прочитайте QMAKE_POST_LINK += "~/Qt/5.12.0/clang_64/bin/macdeployqt $${TARGET}.app $$escape_expand( \\n\\t )"
Sept. 16, 2019, 6:41 a.m.

Метод toASCII нельзя применить, а .toHex возвращает block: "000b0500000006006100610061" Но тут есть как минимум несколько букв. Как можно получить не цифры, а текст с цифрами?
Sept. 16, 2019, 2:51 a.m.

У класса есть метод AddPath(). Можно ли передать URL.
Sept. 15, 2019, 7:10 a.m.

Всем привет При выполнении кода под отладкой msvc x64 через некоторое время работы получаю ошибку assert failure in qlist, приложение вылетает. Как правильно настроить qt чтобы при данной о…
Sept. 14, 2019, 8:13 a.m.

Можно использовать Flickable, растнянуть на него картинку и двигать
© EVILEG 2015-2019
Recommend hosting TIMEWEB