Как сделать поиски статей на сайте?

126
05 апреля 2021, 15:40

Есть вариант с помощью order_by или filter. Нужно сортировать данные из базы данных точнее статьи. И еще выводить данные по поиску в шаблон . Поиск должен проходить по названию статьи

models.py

from django.db import models
from taggit.managers import TaggableManager
class Articles(models.Model):
    title = models.CharField(max_length= 200)
    post = models.TextField()
    date = models.DateTimeField()
    img = models.ImageField(upload_to='', default="default_value")
    tags = TaggableManager()
    article_like = models.IntegerField(default='0')
    article_dislike = models.IntegerField(default='0')
    view = models.IntegerField(default='0')

    def __str__(self):
        return self.title

Моя функция поиска хз работает она ли ? views.py

def post_search(request):
    form = SearchForm()
    if 'query' in request.GET:
        form = SearchForm(request.GET)
        search = request.GET['username']

        if form.is_valid():
            cd = form.cleaned_data
            results = SearchQuerySet().models(Articles).filter(content=cd['query']).load_all()
            total_results = results.count()
    return render(request,
                  'news/posts.html',
                  {'form': form,
                   'search': search,
                   'cd': cd,
                   'results': results,
                   'total_results': total_results})
Answer 1

Фильтруете по filter() методу, передав ему lookupы. Для поиска вам нужет __icontains

User.objects.filter(username__iscontains="Челове")

Сортировка через order_by, передаете назнаниве поля и символ направления сортировка (по убыванию - -).

Вывод в шаблоне - передаете в контекст все, что там нужно вывести и выводите конструкциями {% for x in y %} ... {% endfor %} и {{ variable }}

Прошу таки прочитать документацию и пройти туториал

READ ALSO
Помощь с CSS выравниванием

Помощь с CSS выравниванием

Встала проблема с выравниванием блоков как на картинкеПомогите пожалуйста с решением, какими способами это можно сделать? Сайт верстаю на Bootstrap4

138
Как сделать чтобы функция не срабатывала во второй раз, если я делаю то же самое

Как сделать чтобы функция не срабатывала во второй раз, если я делаю то же самое

Как сделать чтобы при нажатии на одну и ту же form дважды или больше, функция не работала? Но при нажатии на другие form (Не та что ранее) функция...

116
разделить строку на части

разделить строку на части

есть строка например:

254
Переход на выделенную строку в datagridview

Переход на выделенную строку в datagridview

На форме есть Datagridview (с bindingsource) с вертикальной прокруткой (более 200 строк), в котором выделена строка и выполнена прокрутка, те

127