
Denis
25.07.2017
15:07:10

Uncle
25.07.2017
15:07:26

Eugene
25.07.2017
15:07:28
Тут больше надо понимать архитектуру БД, а не самой джанго)

Denis
25.07.2017
15:07:42

Google

Denis
25.07.2017
15:08:15
И деревья в комментах я бы оставил под вопросом

Uncle
25.07.2017
15:08:30

Denis
25.07.2017
15:08:33
ваще зашкварная хрень

Uncle
25.07.2017
15:08:48
на хабре неплохо реализовано

Eugene
25.07.2017
15:08:54
ForeignKey хватит

Denis
25.07.2017
15:09:45
Простой пример - есть у тебя дерево комментов - сколько их выводить на одну страницу?

Eugene
25.07.2017
15:10:08
А ты с этой стороны, да, та еще хрень(

Denis
25.07.2017
15:10:10
каким образом ты будешь слайсить вложенность?

Uncle
25.07.2017
15:10:18

Denis
25.07.2017
15:10:58
а если в "показать ещё" первым будет вложенный коммент

Uncle
25.07.2017
15:11:17
ну и что? что это меняет
хабр не заморачивается, у них все комменты открыты без кнопок
и норм

Google

Denis
25.07.2017
15:12:03
большая вложенность испортить вид страницы... если ты будешь делать с отступами...

Uncle
25.07.2017
15:12:33
хм, я понял о чем речь
боковые дивы когда-то закончатся а по центру будет непонятная карусель

Denis
25.07.2017
15:13:12
плюс вдруг тебе поставят задачу визуально отмечать непрочитанные комменты - если они все на одной странице, то ничего сложного, а если нет? как помечать прочитанность?

Uncle
25.07.2017
15:13:41
только клиентскими языками
js , angular ,react типа них

Denis
25.07.2017
15:14:06
тут много нюансов с древовидными комментами - нужно решить изначально, а надо ли

Uncle
25.07.2017
15:14:33
ну в принципе да
согласен

Denis
25.07.2017
15:16:02
только клиентскими языками
то есть ты будешь забивать localStorage каждого клиента? А если я одну страницу открою на одном устройстве, а другую на другом?
так что я в таких случаях заказчику мягко говорю, что у него моча в голове

Uncle
25.07.2017
15:16:55
зашел с другого устройства и все, писос
куки слетели
jquey слетела
ry*

Denis
25.07.2017
15:17:33

Uncle
25.07.2017
15:18:41
а можно реализовать корзину без клиента? то есть, добавленные товары не в куках хранить а как-то по другому?
чтоб не через onclick.(function)
грубо говоря на бекенде собрать механизм

Google

Denis
25.07.2017
15:19:36
Да как угодно их можно хранить
можно взять модель "заказ" к ней lineitem c полями количество и ссылку на модель товара

Uncle
25.07.2017
15:20:36
вариант это личный кабинет, но это не вариант а необходимость
в html
как писали выше

Denis
25.07.2017
15:22:08
не обязательно... можно делать сессии для анонимов, а после завершения покупки регать их... например по телефону или эмейлу и на почту слать ссылку на заказ с токеном авторизации

Uncle
25.07.2017
15:23:33
ну а что будет возвращать контроллер клиенту? эту же страницу с контекстом о выбранном товаре?
это же обновление страницы

Denis
25.07.2017
15:24:19
ну ты же аяксом добавлять собирался. Он и будет возвращать json , либо ошибку
а в js у себя уже обрабатываешь её

Denis
25.07.2017
15:25:10
при успехе json вернёт объект lineItem

Uncle
25.07.2017
15:26:16
получается клиентские процессы сводятся к минимуму. остается лишь контроллер, которые получает и отправляет json
на попробовать, мнен равится идея

Denis
25.07.2017
15:29:20
в любом случае нужна бекэнд валидация... если например у тебя ИМ предусматривает сток, то как ты только на клиенте поймёшь сколько товара в наличии?

.
25.07.2017
15:32:04
Гайс, есть много однотипных рестовых вьюх(APIView), которые мало чем отличаются. Хочу зарефакторить это дело, запилить базовый класс. Но тут столкнулся с тем, что на разных вьюхах используется разные методы запросов(get, post, put,delete), не совсем понимаю, как запилить базовый класс, который бы по атрибуту разрешал доступ только к конкретному методу запроса.
Нужно запилить реализацию вьюхи в отдельном методе, потом прописать отдельно 4 метода запроса с вызовом моего отдельного метода. И каждую отдельную ограничить принимаемый метод запроса через http_method_names?

Denis
25.07.2017
15:33:30
по моему ты велосипедишь)))

Uncle
25.07.2017
15:34:45
Гайс, есть много однотипных рестовых вьюх(APIView), которые мало чем отличаются. Хочу зарефакторить это дело, запилить базовый класс. Но тут столкнулся с тем, что на разных вьюхах используется разные методы запросов(get, post, put,delete), не совсем понимаю, как запилить базовый класс, который бы по атрибуту разрешал доступ только к конкретному методу запроса.
Нужно запилить реализацию вьюхи в отдельном методе, потом прописать отдельно 4 метода запроса с вызовом моего отдельного метода. И каждую отдельную ограничить принимаемый метод запроса через http_method_names?
тут фильтр на вьюс, фильтр к моделям с определенным параметром, респонс соответствующий

Denis
25.07.2017
15:36:15
class BaseRestView(object):
allow_methods = []
....
if request.method in self.allow_methods:
....

Google

Denis
25.07.2017
15:38:03
ну и соответственно
class MyModelRestView(BaseRestView, View):
allow_methods = ['get', 'post']
можно сделать через getattr()
можешь посмотреть сорцы https://github.com/hulygun/django-api-toolkit - там у меня ваще вьюхи не надо писать)))

Uncle
25.07.2017
15:41:51
о, мне тоже пригодится

.
25.07.2017
15:42:29
Вроде понял
спасибо

Denis
25.07.2017
15:45:30
по последнему буду рад фидбекам

Dima
25.07.2017
16:03:48
Ребят, кто юзает vuejs + rest framework для спа?

Denis
25.07.2017
16:04:22
В чём проблема?

Dima
25.07.2017
16:04:30
вопрос такой, кто решил проблему с роутами, что бы по линку срабатывал хистори

Admin
ERROR: S client not available

Denis
25.07.2017
16:05:08
а при чём тут drf?

Dima
25.07.2017
16:05:09
ибо не понял как сделать что бы джанга не обрабатывала урлы, или както перенаправляла

Denis
25.07.2017
16:05:44
Дык у тебя фронт должен быть отдельно от бека)))

Dima
25.07.2017
16:06:01
так и есть
но сервак то я пускаю на джнго, может гдето чтото упустил
может какойто прокси, хз... гуглил и толком не выгуглил... там типа есть маза с нгинксом на серваке, но то ж не але

Denis
25.07.2017
16:07:27
на джанго нужно пускать только свой api - vuejs приложение спокойно может работать отдельно через обыкновенный тпштч
то есть у тебя фронт должен работать по домен.ру а бек с джангой по домен2.ру

Google

Denis
25.07.2017
16:09:10
Не нравится nginx из-за религиозных соображений или что?

Dima
25.07.2017
16:09:33
все что мне надо это прописать в нгинксе путь к шаблону index.html

Denis
25.07.2017
16:10:04
не

Dima
25.07.2017
16:10:09
location /backend/templates/ {
try_files $uri $uri/ /index.html;
}

Denis
25.07.2017
16:10:23
и что это?
ты ж говоришь у тебя vue отдельно

Dima
25.07.2017
16:11:16
та я запутался, ну то что вуе отдельно, да
история такова я взял готовый пример с гитхаба и всю эту связку
https://github.com/rokups/hello-vue-django

Denis
25.07.2017
16:13:46
адъ
ну вот же у тебя 2 разных инстанса npm run dev & python ./manage runserver
на проде тебе в любом случае проксисервер какой нить нада (nginx)

Dima
25.07.2017
16:16:16
ну да

Denis
25.07.2017
16:16:19
для vue прописываешь один конфиг, для бека другой

Dima
25.07.2017
16:16:23
уже есть
ага

Denis
25.07.2017
16:20:55
то есть
server {
server_name твой_основной_домен;
location / {настройки для vue}
}
server {
server_name другой_домен_или поддомен;
location / # настройки джанги
}

Dima
25.07.2017
16:22:34
ааа... спс))
пробую

Darkhan
25.07.2017
16:54:56
как сделать, чтобы при фильтрации вытащил queryset и чтобы все элементы листа присутствовали?

Dan
25.07.2017
16:59:26

Darkhan
25.07.2017
17:00:13
допустим при фильтрации __in делает запрос or, а мне надо and...

Dan
25.07.2017
17:01:02
все запсис которые есть в массиве будут вытащены