Аватар для m-gray
0 / 0 / 0
Регистрация: 08.04.2017
Сообщений: 28

Вывод текста из БД в з колонки

17.12.2018, 10:07. Показов 7180. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Подскажите, как вывести текст из бд в 3 колонки?
QuerySet - содержит все поля объекта. А как разбить на части поле content?

model.py

Python
1
2
3
4
5
6
7
8
9
10
from django.db import models
from precise_bbcode.fields import BBCodeTextField
from ckeditor_uploader.fields import RichTextUploadingField
 
 
class Book(models.Model):
    heder_subtitle = models.CharField('заголовок разделов', blank=True, max_length=100, db_index=True, default="")
    number_page = models.IntegerField('№ страницы', blank=True, null=True, default="")
    title = models.CharField('заголовок темы', blank=True, max_length=100, default="")
    content = RichTextUploadingField('содержание',  db_index=True)
index.html (bootstrap)

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{% block content %}
{% for book in page_object.object_list %}
 
<div class="container mt-3">
    <div class="fow">
        <div style="font-size: 12px">
            {{ book.heder_subtitle }} -
            {{book.number_page }}
        </div>
        <hr>
    </div>
</div>
 
<div class="container mt-3">
    <div class="row">
        <div class="col-sm">
            {{ book.content | safe }}
        </div>
        <div class="col-sm">
             {{ book.content | safe }}
        </div>
        <div class="col-sm">
             {{ book.content | safe }}
        </div>
    </div>
</div>
 
{% endfor %}
{% endblock content %}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.12.2018, 10:07
Ответы с готовыми решениями:

Вывод текста в две колонки
Подскажите как вывести содержимое в две колонки? $header = get_lang_code()=='kk' ? array('Departure time','Arrival time') : array('Время...

Вывод текста в две колонки
Добрых суток, Друзья. Сразу вопрос: &quot;Как вывести текст в две колонки&quot;. Использую для этого TextArea, вся задумка в экономии места при...

Ввод текста, сохранение текста в файл, вывод текста из файла
Здравствуйте товарищи, доброго времени суток. Вопрос несложный. Решил создать простенькое приложение. Суть в том, что пользователь,...

22
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
17.12.2018, 12:56
Цитата Сообщение от m-gray Посмотреть сообщение
content = RichTextUploadingField('содержание', db_index=True)
То есть это неупорядоченый текст? Тогда вам вряд ли подскажут, это не стандартная операция.
1
 Аватар для m-gray
0 / 0 / 0
Регистрация: 08.04.2017
Сообщений: 28
17.12.2018, 13:00  [ТС]
Подскажите, что надо изменить в атрибутах поля, что разбить текст. Если убрать db_index=True?
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
17.12.2018, 13:49
Вы понимаете, что поле само по себе уже не делится?
0
 Аватар для m-gray
0 / 0 / 0
Регистрация: 08.04.2017
Сообщений: 28
17.12.2018, 15:28  [ТС]
Я понимаю, что поле не делится, но вывод с поля можно же разделить? Хочется узнать как?
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
17.12.2018, 15:49
Уточняйте вопрос, что вам всё-таки нужно разделить. Если текст - то делим текст, никакого отношения к вашей модели на джанго он не имеет, это другая задача, приплетать сюда джанго - только народ путать.
0
 Аватар для m-gray
0 / 0 / 0
Регистрация: 08.04.2017
Сообщений: 28
17.12.2018, 18:21  [ТС]
Возможно я не смог правильно объяснить то, что мне нужно!
А именно: отобразить сгенерированный из БД текст на 1 странице в 3 колонки. Я так вроде и написал, разбить текст на 3 колонки. Это можно сделать вообще? Средствами django или python.
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
17.12.2018, 18:43
m-gray, типа как в газете? Тогда ваш вопрос вообще относится к html-вёрстке.
Разбить на три примерно равные части с помощью питона можно, конечно, но не стоит.
0
 Аватар для m-gray
0 / 0 / 0
Регистрация: 08.04.2017
Сообщений: 28
17.12.2018, 21:46  [ТС]
Да, как в газете. Подскажите как. Объект типа QuerySet - это не список. Он хранит поля БД. И вот как из него разбить на 3 колонки? Это я и имел ввиду. Я извлекаю в цикле данные. Цикл в цикле? Тогда как прервать цикл, как достать что-нибудь, что бы выйти continue и продолжить цикл во вторую колонку или как? Я не знаю.
0
 Аватар для TimeTwo
102 / 95 / 104
Регистрация: 29.11.2009
Сообщений: 407
18.12.2018, 09:27
Лучший ответ Сообщение было отмечено m-gray как решение

Решение

эту задачу точно можно решить написав свой фильтр (templatetag)
1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
18.12.2018, 10:35
m-gray, ещё раз: ваш вопрос относится к вёрстке html. Питон с джангой тут не при чём.
Вам надо сверстать текст независимо от того, откуда он взялся, хоть вообще статичный html.
0
 Аватар для m-gray
0 / 0 / 0
Регистрация: 08.04.2017
Сообщений: 28
18.12.2018, 11:57  [ТС]
Добавлено через 2 минуты
TimeTwo, Сориентируйте пожалуйста, как это должно выглядеть. Это фильтр применять непосредственно в выводе экземпляра или где-то преобразование нужно сделать?
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
18.12.2018, 12:00
m-gray, подумайте о том, что должно произойти с вашим разбиением текста, если размер окна поменяется.
0
 Аватар для m-gray
0 / 0 / 0
Регистрация: 08.04.2017
Сообщений: 28
18.12.2018, 12:03  [ТС]
dondublon,
Посмотрите верстку выше в коде, там 3 bootstrap колонки

Добавлено через 3 минуты
Он сложится в bootstrap по размеру окна в другой вид
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
18.12.2018, 12:07
m-gray, не вижу bootstrap, вижу html. В любом случае, к питоновской части bootstrap не относится.
Да и вопрос остаётся.
0
 Аватар для m-gray
0 / 0 / 0
Регистрация: 08.04.2017
Сообщений: 28
18.12.2018, 12:23  [ТС]
dondublon, ок, спасибо, что отозвались на проблему.
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
18.12.2018, 12:51
m-gray, you're welcome!
0
 Аватар для TimeTwo
102 / 95 / 104
Регистрация: 29.11.2009
Сообщений: 407
18.12.2018, 15:36
Лучший ответ Сообщение было отмечено m-gray как решение

Решение

m-gray, прочитайте о написании своего шаблонного фильтра
Python
1
2
3
4
5
6
7
8
9
@register.tag(name="do_split")
def do_split(text, part_number):
    """
    функция разделяющая текст и возвращающая заданную его часть, первую, вторую или третью
 
    реализация функции - за вами
    """
    #do smth
    return my_func_that_split_text_and_return_part(text, part_number)
и дальше

HTML5
1
2
3
4
5
6
7
8
9
<div class="col-sm">
            {{ book.content | do_split:1 | safe }}
        </div>
        <div class="col-sm">
             {{ book.content | do_split:2 | safe }}
        </div>
        <div class="col-sm">
             {{ book.content | do_split:3 | safe }}
        </div>
и кстати, Вы не правы, dondublon, это чисто задача джанги, разбить текст из поля
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
18.12.2018, 15:49
Лучший ответ Сообщение было отмечено m-gray как решение

Решение

TimeTwo, ничего подобного.
Отлично, что на джанге можно это сделать, но это совершенно не то, для чего она придумана. Это форматирование текста на клиенте, серверу тут делать нечего.
Кстати, я глянул, задача решается на css, и вот это вполне логично.

Добавлено через 1 минуту
TimeTwo, в вашем решении, при изменении высоты окна, часть слов, возможно, надо будет перенести из одной колонки в другую. Что делать будем? Запрос на сервер посылать?
0
 Аватар для TimeTwo
102 / 95 / 104
Регистрация: 29.11.2009
Сообщений: 407
18.12.2018, 17:00
dondublon, решений и правда много, и да вы правы, логичнее делать это на клиенте
вопрос задан в ветке, по джанго, соответственно и решен он должен быть на джанго, хоть это и не логично, текст возможно разделить имеено джангой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.12.2018, 17:00
Помогаю со студенческими работами здесь

Разбиение текста на колонки из связанного сервера
Драствуйте !!! Такая проблемма : создал связанный сервер текстового файла , но запрос выводит все по строкам без разбиения на колонки ,...

Загрузить колонки текста в TListView из файлов
Всем утречка доброго! Что-то пытаюсь сделать программку, но никак не пойму, как работать с этим TListView.. Точнее как загрузить в него...

Вывод колонки из БД
Привет Есть база данных с полем Date (date) Как выполнить соединение к бд и вывести эту колонку ? Вывести например в dateFromDb ...

Запретить выход текста за границы колонки DbGrid-а
как в делфи 7 сделать так чтоб текст не выходил за край поля в DBGrid? поле &quot;краткое описание&quot; в вложенном изображении.

Вывод в 2 колонки в Listbox
Доброго времени суток :) Помогите вывести в 2 колонки в Listbox


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru