@python_beginnersЭта группа больше не существует

Страница 912 из 1885
Igor
12.12.2016
15:25:12
это, конечно, как-то хреново

а если в скобочках, то же самое?

page=(page|add:"-1")

Romka
12.12.2016
15:26:18
Could not parse some characters: |(page||add:"-1")

Google
Igor
12.12.2016
15:26:26
че-т лишнее

{% url 'book_page' pk=book.pk page=(page|add:"-1") %} или ну может правда во вьюхе сделать. там заодно и проверка не помешает на случай, если страница == 1

не надо отображать ссылку для страницы 0, т.к. ее не будет существовать

Romka
12.12.2016
15:28:35
Ок

Попробую

Спасибо большое

Igor
12.12.2016
15:30:37
ой бля пиздец

как хорошо, что я этим не занимаюсь больше

Romka
12.12.2016
15:31:52
:D

Спасибо

Zart
12.12.2016
15:42:48
почему || ?

руки при наборе трясутся?

Romka
12.12.2016
15:43:07
Оно само

Google
Romka
12.12.2016
15:43:15
Посмотрите на код

Zart
12.12.2016
15:45:07
интересно, а то что на входе у |safe, правда таковым является?

Romka
12.12.2016
15:46:36
У меня есть тонна текста в html и мне нужно каждое слово запихнуть в span, но там есть ещё и <p> теги

Pavel
12.12.2016
15:53:52
Вы делаете пагинацию через жопу, и в результате получается говно.

(я похож на зарта? ?)

Zart
12.12.2016
15:54:46
*прослезился*

Igor
12.12.2016
15:54:52
fox.hs
12.12.2016
15:54:52
(я похож на зарта? ?)
Если пару букв в имени местами поменять

Zart
12.12.2016
15:55:10
собсно я ему и советовал спросить у тебя как делать пейджинг по человечески

Igor
12.12.2016
15:55:30
да, мне тоже Паша вспомнился раз 10 уже

Zart
12.12.2016
15:55:44
в других фреймворках обычно юзают объект, который кормят шаблону а потом юзают чтото типа page.next, page.prev

Igor
12.12.2016
15:56:01
в жанге вроде так же только там модуль какой-то

Zart
12.12.2016
15:56:35
ну ы

Pavel
12.12.2016
15:58:19
views.py from django.core.paginator import Paginator objects = ..... paginator = Paginator(objects, 10) # например, 10 штук contacts = paginator.page(3) # Третья страница .html <div class="pagination"> <span class="step-links"> {% if contacts.has_previous %} <a href="?page={{ contacts.previous_page_number }}">previous</a> {% endif %} <span class="current"> Page {{ contacts.number }} of {{ contacts.paginator.num_pages }}. </span> {% if contacts.has_next %} <a href="?page={{ contacts.next_page_number }}">next</a> {% endif %} </span>

https://docs.djangoproject.com/en/1.10/topics/pagination/

у джанго-пагинации есть ровно один косяк: если у нас в урле есть какие-то GET параметры кроме страницы, то там маленько больно формировать сслыку на next\previous page.

Romka
12.12.2016
15:59:54
Понял

Спасибо

Google
Romka
12.12.2016
16:00:35
Попробую

Romka
12.12.2016
16:02:54
Мне было удобно в листать страницы вперёд

А назад уже траблы

в object мне тужно просто нарезать мой текст по 200 символов и от этого плясать?

Это не будет сильно нагружать сервер?

Zart
12.12.2016
16:05:53
там разве не колво в страницах передается изначально?

Romka
12.12.2016
16:06:13
Нет

там передается номер страницы, я его принимаю и words = (int(page) - 1) * 200 wordsNew = words + 200 book = get_object_or_404(Book, pk=pk) textPage = book.fullText.split(' ')[words:wordsNew]

У меня в бд fullText в котором весь текст книги

Pavel
12.12.2016
16:08:46
там передается номер страницы, я его принимаю и words = (int(page) - 1) * 200 wordsNew = words + 200 book = get_object_or_404(Book, pk=pk) textPage = book.fullText.split(' ')[words:wordsNew]
ты создаёшь пагинатор из списка объектов и количества объектов на странице. Потом ты делаешь страницу из пагинатора и номера страницы. На странице есть список объектов, номера следующей/предущей и т.п.

У меня в бд fullText в котором весь текст книги
я бы порезал книгу на куски и хранил не full text, а чанками (абзац/строка/количетсов слов)

Romka
12.12.2016
16:09:25
Понял

Я не знаю как это сделать

У меня вот такая модель

Книги добавляю вручную

через админку

Pavel
12.12.2016
16:12:49
class BookChunk(models.MOdel): book = models.ForeignKey(Book) chunk_idx = models.IntegerKey() chunk_text = models.TextField() Текст книги шинкуешь на куски (как именно - обсудим позже), каждый кусок по порядку сохраняешь в эту модель.

Igor
12.12.2016
16:13:07
chunk*

Pavel
12.12.2016
16:13:31
ага, точно. чё-то глазки устали.

Google
Zart
12.12.2016
16:14:09
мгм

Pavel
12.12.2016
16:14:53
но я пропустил начало и не в курсе, чем вы тут занимаетесь. ?

Перечитал. До сих пор была обычная пагинация, а теперь вдруг нужна навигация по тексту книги.

Romka
12.12.2016
16:20:14
Что-то вроде этого

Я пытаюсь переварить всё что вы написали

Admin
ERROR: S client not available

Pavel
12.12.2016
16:24:17
Я пытаюсь переварить всё что вы написали
огласи задачу точно. Я писал много, потому что на ходу пытался понять, что тебе нужно.

Romka
12.12.2016
16:25:19
Есть текст книги. Мне нужно его разбить на страницы по 200 символов

И настроить навигацию по страницам

Pavel
12.12.2016
16:31:05
Не страшно, если слово перене

сётся на другую страницу?

Romka
12.12.2016
16:31:28
нет

Pavel
12.12.2016
16:32:46
тогда стандартная джанго-пагинация по тексту книги и 200 символов на стрницу. Остальное как в мануле.

джанго пагинация берёт любой объект, к которому можно слайсы применить.

Zart
12.12.2016
16:34:03
ну йопт, ну возьмите уж textwrap.wrap приличия ради, а

Romka
12.12.2016
16:35:22
Попробую, спасибо

Вадим
12.12.2016
16:37:58
Всем привет, подскажите пожалуйста какую книгу по паттернам почитать ? У меня страдает ооп

likalo
12.12.2016
17:05:43
Что значит 'int' object is not iterable?

Anna
12.12.2016
17:07:48
Что значит 'int' object is not iterable?
нельзя итерировать по целому числу! вот сюрприз.

fox.hs
12.12.2016
17:07:48
Что значит 'int' object is not iterable?
Число не является итерируемым объектом

Google
likalo
12.12.2016
17:11:58
Спасиб

n = int(input('Введите количество симбволов в Булевом выражении n= ')) a=[n] def main(): for i in n: a[i] = False step(a) def outputtext(a): Str = '' for i in a[i]: Str = Str+str(a[i]) return Str def step(a): while (a[i] != bool(N)): for j in n: for k in 4: beep(a,-j) S = outputtext(a) print(S) def beep(a,t): if (a[t] == 0 and a[(t-1)] == 0): a[t] = True #положение А elif (a[t] > a[(t-1)]): if (t < n): a[(t-1)] = True #положение Б beep(a,t-1) elif (a[t] == [(t-1)]): a[t] = False #положение В else: if (t < n): beep(a,t-1) a[(t-1)] = False #положение Г main()

В чем ошибка

Tatiana
12.12.2016
17:15:15
likalo
12.12.2016
17:15:15
?

fox.hs
12.12.2016
17:15:32
Где ошибку выдаёт?

Zart
12.12.2016
17:15:42
for i in n: # херня ж

хотелось видать for i in range(n):

там дальше косяк за косяком. иди учи циклы

likalo
12.12.2016
17:17:26
Окей(

Johnnie
12.12.2016
17:18:22
a[n] тоже видимо хотел совсем другое

likalo
12.12.2016
17:19:11
A =[n]?

Johnnie
12.12.2016
17:19:29
Ой, да

fox.hs
12.12.2016
17:19:31
Что это такое?

likalo
12.12.2016
17:20:10
Программа завтра на Марс полечу

fox.hs
12.12.2016
17:20:59
A =[n]?
А что ты хотел сделать этой инструкцией?

likalo
12.12.2016
17:21:50
Список

Anna
12.12.2016
17:25:52
Программа завтра на Марс полечу
с таким кодом на марс не возьмут :(

Страница 912 из 1885

Эта группа больше не существует Эта группа больше не существует