
Romka
12.12.2016
15:39:06
Спасибо большое
ой бля пиздец
как хорошо, что я этим не занимаюсь больше
:D

Google

Romka
12.12.2016
15:39:09
Спасибо
Помогите сделать ссылку "Назад"
Можно как-то в в шаблон передать переменную?
(Django)
Только чтобы эту переменную в urls.py не прописывать
У меня есть ссылка http://127.0.0.1:8000/book/5/page=2
page=2 это то что на первом скрине page=page
Как мне сделать http://127.0.0.1:8000/book/5/page=1
тоесть от page=(page - 1)
не понял.
ты зашел на http://127.0.0.1:8000/book/5/page=2
и хочешь там отобразить ссылку на страницу http://127.0.0.1:8000/book/5/page=1
так?
да
Почему нельзя пересылать сообщения?
Ойй

Google

Romka
12.12.2016
15:39:55
Простите
Телеграм глючит

Alex
12.12.2016
15:42:07

Romka
12.12.2016
15:42:22
Я случайно

Alex
12.12.2016
15:43:13
Вашушмать, что вы с пагинацией городите?

Romka
12.12.2016
15:43:51
Не знаю

Alex
12.12.2016
15:44:26
Зачем в урл шаблоне получать параметр?
Его можно взять из request.GET.get('page')
И при чем там уже к типу приведены значения, то есть если параметр будет передан в инте, то и тут будет сразу инт

Romka
12.12.2016
15:46:51
Я пытался

Alex
12.12.2016
15:47:03
А это ограничение накладывает, перед параметром page нельзя указывать другие параметры.

Romka
12.12.2016
15:48:13
Я только 3й день учу django

Alex
12.12.2016
15:49:46
И int(page) при том что в page будет иметь не численное значение будет вываливать TypeError

Romka
12.12.2016
15:50:32
Ок

Alex
12.12.2016
16:15:22
Ок
а, стоп, с телефона не обратил внимание что там у тебя не /?page= а просто /page=
но все равно.
смотри, убери вообще пейдж из урл-паттерна
а во вьюхе сделай так:
page = request.GET.get("page", 1)
и тогда урл будет выглядеть к примеру так: http://example.com/book/1337?page=2
дальше, у тебя есть int(page)
если пейдж - стринг, получишь ошибку типа.
следовательно нужно это предотвратить.
if not isinstance(page, int):
page = 1 # наприимер
можно еще лучше сделать:
if not isinstance(page, int):
if isinstance(page, str) and page.isdigit():
page = int(page)
else:
page = 1 # наприимер
то есть если пейдж все таки получился в стринге, но там только цифры (str.isdigit()) то только тогда приводить строку в инт.
остальное смотрю тебе в апйтон бегиннерс объясняют
поэтому повторяться думаю не стоит

parikLS
12.12.2016
16:17:21
try except же

Google

Alex
12.12.2016
16:18:26

Romka
12.12.2016
16:21:18
Спасибо, пытаюсь переварить это

Alex
12.12.2016
16:22:17

Romka
12.12.2016
16:22:33
около 2х месяцев
но до такого ещё не доходило
В основном фронтом занимался
Решил в бек
Думаю после 11 класа пойти на работу питонистом
сейчас в 10

Da
12.12.2016
17:21:10
Друзья, подскажите, пожалуйста!
Вот есть в шаблоне переменная {{ mydate }}, например, 12.12.2016. Как рядом с ней вывести дату, которая будет ровно через месяц (в моем примере должно быть 12.01.2017)? Это вообще возможно или надо вторую дату в контекст перед рендерингом шаблона включать?

parikLS
12.12.2016
17:23:24
Формируй контекст в одном месте, а то потом задолбаешься править в разных местах

Da
12.12.2016
17:25:40
Надо ли вторую дату в контекст включать или ее динамически можно получить в шаблоне?

Maxim robox
12.12.2016
17:29:57

amureki
12.12.2016
17:38:11
Не вычисляйте ничего в шаблонах, добавьте переменную во вьюшку

Da
12.12.2016
17:39:48
Проверь add.
ну это понятно, что если это можно сделать, то нужно add применять.
{{ mydate|add:one_month }}
А как этот one_month указать?

amureki
12.12.2016
17:41:29
это возможно
можно написать кастомный template tag, который будет вычислять

Da
12.12.2016
17:44:31
Ну это наоборот движение к усложнению кода... А мне интересно написать всего одно выражение в шаблоне, чтобы убрать пару строчек из views

Google

Maxim robox
12.12.2016
17:46:26
@DamirN
Как вариант:
Написать метод во вьюхе и вызывать его из шаблона
{{ view.date_with_added_month }}
Метод должен быть без аргументов (кроме self).

amureki
12.12.2016
17:47:09
чем это проще сразу прокинутой переменной?)

Maxim robox
12.12.2016
17:49:56
чем это проще сразу прокинутой переменной?)
В некоторых случаях можно вообще выкинуть всю конструкцию
def get_context_data(...)
context = super(...)
context['new_date'] = self.get_new_date
return context
И заменить её на вызов метода get_new_date из шаблона.

Admin
ERROR: S client not available

amureki
12.12.2016
17:50:19
можно
много чего можно сделать :)

Michael
12.12.2016
17:54:00
лучше видеть всю логику в одном месте. Воротить какой-то велосипед в темплейтах это какое-то говноедство.

parikLS
12.12.2016
17:54:30
можно еще сигналов добавить
будет вообще сказка

amureki
12.12.2016
17:54:45
а проще переписать на нормальном php

parikLS
12.12.2016
17:54:56
плюсую

Da
12.12.2016
17:56:17
да там логики и нет :) нужно просто на странице указать период с ... по ...
логично указать только дату начала периода, если период всегда ровно месяц
или нет?
и главный вопрос в том, есть ли уже придуманный велосипед для этого

Maxim robox
12.12.2016
18:00:13

Da
12.12.2016
18:00:40
ладно, понял
Спасибо :)

parikLS
12.12.2016
18:24:15

Maksim
12.12.2016
23:07:33
Привет всем, кто чего может посоветовать по django для обучени?)

Alexander
12.12.2016
23:36:17
Хорошие туториалы для новичков это официальный
https://docs.djangoproject.com/en/1.10/intro/
и этот https://tutorial.djangogirls.org/ru/

Alex
12.12.2016
23:41:04
хотя.. для старта сгодится...

Google

Alexander
12.12.2016
23:43:26

Evgeniy
13.12.2016
03:58:32
а проще переписать на нормальном php
Это стеб?)) Мне принципиально php не хочется брать для реализации проекта одного, считаю что django лучше справиться, для реализации интерфейса выдачи задач пользователю!

Michael
13.12.2016
06:36:18

amureki
13.12.2016
07:35:49

Panda
13.12.2016
15:00:10
Доброго времени суток! Уменя проблемка может кто поможет. Просто не могу понять, почему не не видит bootstrap

Maxim robox
13.12.2016
15:03:13
Скорее всего тебе нужно убрать /static из пути.

Panda
13.12.2016
15:05:52
в html?
не помогло

Tatiana
13.12.2016
15:07:43
попробуй в STATICFILES_DIRS в конце к static добавить слэш
static/
мне как-то помогло однажды
а, и в html Максим правильно подсказывает, /static убрать надо, чтобы было так: {% static 'js/bootstrap.min.js' %}

gravizappa
13.12.2016
15:14:43
а DEBUG true или false?