Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/35: Рейтинг темы: голосов - 35, средняя оценка - 4.80
 Аватар для m-gray
0 / 0 / 0
Регистрация: 08.04.2017
Сообщений: 28

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

17.12.2018, 10:07. Показов 7081. Ответов 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
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 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
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
17.12.2018, 13:49
Вы понимаете, что поле само по себе уже не делится?
0
 Аватар для m-gray
0 / 0 / 0
Регистрация: 08.04.2017
Сообщений: 28
17.12.2018, 15:28  [ТС]
Я понимаю, что поле не делится, но вывод с поля можно же разделить? Хочется узнать как?
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 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
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 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
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 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
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 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
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 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
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 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
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru