
Артем
29.03.2017
15:11:51
Ребят, не подскажите как лучше сделать плиз
вот есть один шаблон
на нем одна форма от одной модели и мне нужно еще добавить сюда связанные формочки уже из другой модели
и все это в cbv.
Я пока костыльно пишу вот так
class EditDetailView(UpdateView):
template_name = "temp.html"
model = First
fields = ()
def get_context_data(self, **kwargs):
data = super(EditDetailView, self).get_context_data()
data['first_form'] = First.objects.get(id=self.kwargs.get('pk'))
data['second_form'] = Second.objects.filter(
third__first_id=self.kwargs.get('pk'))
return data
С отображением проблем нет, но вот как это все обрабатывать
то есть необходимо переопределять post() get_object() и проверять из какой формочки засабмитили....
Как вообще лучше такое сделать, то есть уже обработку ?
Просто возможен вариант загрузить темлейт и потом РЕСТом(или просто ажаксом) подгрузить что нужно, но РЕСТ это уже с фронтом возни немерено.... Тут без js возможно обойтись...?


Serge
29.03.2017
15:20:31
У тебя каждая форма отдельно живет и сохраняет разные объекты? Или нечто вроде formset?

Артем
29.03.2017
15:21:52

Serge
29.03.2017
15:22:47
Дело в том что ты можешь одновременно только 1 форму получить, ты либо создавай под каждую из форм свою FormView либо пиши на Post обработку с распознанием какая форма получила данные и дальше отвправляй на валидацию

Google

Артем
29.03.2017
15:23:59
Так и надо только одну из всех форм будут сабмитить

Serge
29.03.2017
15:24:08
Грубо говоря. Твое приложение может понять какая форма получила POST только если ты укажешь там доп поле и тогда пиши обработку этого в def post. Либо по URL и тогда ты создаешь дл каждой формы свой FormView, его можешь наследовать от своей текущей вьюшки чтобы не плодить лишний код
Лично я бы сделал Ajax и отправку на разые URL, к которым привязаны разные FormView, вот и все.
Но не везде ajax подойдет, я это понимаю

Артем
29.03.2017
15:26:58

Serge
29.03.2017
15:27:26
Всмысле, валидация в формах, нечего ее во вьюхи пихать

Pavel
29.03.2017
15:28:12
Аякс-то зачем тут?

Serge
29.03.2017
15:29:26
Чтобы не плодить разные url, грубо говоря у тебя есть большая страничка, там куча форм. Легко работаешь с ними, отсылаешь яксом сбмиты на разные FormView, твоя страничка с кучей форм останется незыблема. Это стандартная практика для веб
Конечно не везде подойдет, но это лучший выход

Артемий
29.03.2017
17:21:31
Гайз, никто не знает есть ли Two scoops of django 1.10 в открытом доступе, чет гуглил не нашел
покупать не очень(

amureki
29.03.2017
17:38:43
Не уверен, что 1.10 выходила
читайте 1.8, основы те же

Andrey
29.03.2017
20:05:28
Да, там отличий-то с гулькин нос.

Google

Serge
29.03.2017
20:08:09
Ну новая версия уже будет в другом году. Из изменения там шаблоны для элементов форм

Artyom
29.03.2017
22:19:12

Pavel
30.03.2017
02:35:45

Andrey
30.03.2017
04:12:27

Set
30.03.2017
04:27:53
всем привет не вникаю что делает ListView и DetailView

Eldar
30.03.2017
04:45:49

Set
30.03.2017
04:47:07
или это не правильный подход ?

Pavel
30.03.2017
04:53:35
всем привет не вникаю что делает ListView и DetailView
принцип (в первом приближении) простой - если тебе нужен список чего-то, фильтрованый или нет, то это ListView. Если нужен какой-то один объект, пусть у него и будет метровая портянка из дочерних объектов - DetailView.

Владимир
30.03.2017
04:54:44
http://g-garnet.ru

Set
30.03.2017
04:56:39
)

Panda
30.03.2017
09:01:28
Можно вопрос:
если я заливаю на git с virtualenv, то заливать только папку проекта и requirement.txt?, если версия интерпретатора поменяется это ничего страшного?

Eldar
30.03.2017
09:02:56

Panda
30.03.2017
09:03:17
а понял спасибо

Askhat
30.03.2017
09:03:56
А есть группа в телеграме по убунту? У меня проблема на 16.04, интернет вечно отваливается по wifi

Artyom
30.03.2017
09:05:38

Panda
30.03.2017
09:05:58
https://t.me/grouplinux

Artyom
30.03.2017
09:05:59

Andrey
30.03.2017
09:07:31

Google

Artyom
30.03.2017
09:16:53

Rail'
30.03.2017
09:16:53
Приветствую! Как в django rest frameworke в сериалайзере динамичесик поменять у поля настройки в конструкторе класса?

Janek
30.03.2017
09:29:41
Видно, что из руби человек пришел

Rail'
30.03.2017
09:31:35

Yuri
30.03.2017
09:40:20
hello guys, а джанга предназначена для десктоп приложений работающих в вебе?

oneek
30.03.2017
09:43:04
че
а как ты его будешь использовать - это уже плод твоей больной фантазии

Yuri
30.03.2017
09:49:13
это как любая прога, только она в вебе

oneek
30.03.2017
09:57:38
Подойдет и джанга, и фласк, и б-же упаси, даже любой пхп фреймворк в качестве бекенда. Вопрос в том, что команда знает и с каким инструментом в руках эффективнее справится.

amureki
30.03.2017
09:58:42
тут, к слову, показателен пример pgAdmin 4, десктоп апп, с бекендом на фласке
работает вроде, но блин, так отвратно все)

oneek
30.03.2017
09:59:25
та еще какуля
ничего лучше http://pgcli.com/ нет)

Dauren
30.03.2017
10:41:39
@python_kz
Esli kto s kz est

Ivan
30.03.2017
11:44:15
Коллеги, подскажите, пожалуйста, когда default добавляешь в поле уже существующее в БД. Нужно ли делать миграции?

Andrey
30.03.2017
11:52:42

Denis
30.03.2017
11:53:03
Makemigrations напиши

Google

Denis
30.03.2017
11:53:06
И узнаешь

Ivan
30.03.2017
11:55:39
Ок, так и сделал. Интересно было должны ли они делаться или нет в теории.
Потому как Django 1.6 и South
Нет уверенности, что south везде и хорошо делает миграции

Ruslan
30.03.2017
12:25:15
нормально он всё делал

Strom
30.03.2017
13:05:10
Здравствуйте, люди

.
30.03.2017
13:20:02
Гайс, если я в sqlachemy вытаскиваю два поля с одинаковым названием, но с разных бд, у меня потом в строке будет список?
Еще есть вопрос, как можно быстро залить в бд рандомные тестовые данные, юзая sqlalchemy. Только через цикл, задав самому объекты?

53r63rn4r
30.03.2017
13:31:01

.
30.03.2017
15:37:25

53r63rn4r
30.03.2017
15:37:34
можно
но если что, можно и самому
джангисты совсем разленились
мб и батарейка есть, да?

.
30.03.2017
15:38:31
Ну да)
Generic.datetime не робит

Michael
30.03.2017
15:38:49
Привет. Существуют ли какие то рекомендации, как именовать project и app? Чтобы не писать my<projectname> или project<projectname> ?

Denis
30.03.2017
15:40:20
По назначению мб
Хотя аппы я иногда называю main или вроде того)

Serge
30.03.2017
15:46:53
Я все называю application а внтури уже нормально

Google

Michael
30.03.2017
15:50:40
ну например проет по поиску отелей. название проекта hotelfinder можно, а как назвать апп?
я просто не особо понимаю логику
может на супер большом проекте как то и можно на разные apps разделить
а на обычном не очень понятно)

parikLS
30.03.2017
16:40:49

Yaroslav
30.03.2017
16:57:41

.
30.03.2017
18:22:09
Гайc, написал небольшой скрипт для работы с бд, но он почему-то данные не сохраняет в бд(наверное я упустил что-то очень очевидное, но никак понять не могу), т.е. я могу получить только те объекты, которые сам же и создал во время запуска программы.
https://gist.github.com/YraganTron/82f8a33340eefa36af26f09e2514a2b1

Yaroslav
30.03.2017
18:33:50

Senpos
30.03.2017
18:47:52
В гайде, который я нашел в FAQ'e, почитал про Templates и где их хранить (https://tutorial.djangogirls.org/en/django_templates/).
В примере показана структура {app_name}/templates/{app_name}/{template_name}
Мне интересно, а зачем внутри папки с темплейтами, которая и так внутри папки приложения создавать еще папку с именем этого же приложения?)
И по какому принципу вы храните свои темплейты?
Вот в этом видео-уроке (https://youtu.be/1KuyH8JVn6A), например, вообще в папке проекта создают папку templates и там уже название темплейта (что странно, на самом деле, ведь даже не разбивают на аппы)