https://docs.google.com/document/d/1taxClgABpWC2Snl02hHJLT1_82H18Msv9gszvl5Jl30/edit?usp=sharing
То есть мне надо отобразить список всех шаблонов, там же формы для создания контракта по определенному шаблону. Буду безумно рад любой подсказке и помощи
Документ приватный, без запроса доступа не посмотреть
в общем так и не понял что именно вызывает затруднение, но на всякий случай посмотри вот это https://docxtpl.readthedocs.io/en/latest/
шаблон типо в тройных кавычках? """{{fio}}"""?
ninja2 используй прост, если так
либо обычный форматтер
ninja2?
Ну шаблонизатор
ну наверное jinja все же))
Есть две модели: ContractTemplate и Contract. У меня есть три объекта модели шаблон контракта с названиями: Первый, Второй, Третий. Они все выводятся. Напротив каждого форма ФИО и СУММА, форма была сделана от модели Contract(тк там эти поля). Я беру и заполняю форму ФИО и СУММА у шаблона контракта Второй, нажимаю на кнопку и у меня создается объект модели Contract, который автоматом привязывается к шаблону контракта Второй
Когда ты говоришь "у меня есть" и потом говоришь "вот это все я не понимаю как реализовать" я не понимаю где закончилось то, что у тебя уже есть и началось то что ты не понимаешь. Давай попробуем по порядку, есть 2 модели, шаблоны и договоры, в шаблонах у тебя три инстанса, в которых есть поле файлфилд и в него положен шаблон сделанный при помощи docxtpl (например). Теперь нужно чтобы у тебя в интерфейсе ты мог ввести данные в поля, соответствующие необходимым полям в договоре, после чего фронт отправляет данные запросом на бэк, вьюха получает, валидирует данные, создает договор с указанными данными. Дальше или прямо во вьюхе, или в методе save модели договора или при помощи сигнала, создается файл из нужного шаблона и в него передаются данные из договора, после чего полученный файл привязывается к договору.
Давай я конкретизирую вопрос. Вот модели https://pastebin.com/B75AAVJi Вот измененная задача https://docs.google.com/document/d/1taxClgABpWC2Snl02hHJLT1_82H18Msv9gszvl5Jl30/edit?usp=sharing Я убрал все ненужное и оставил саму суть этой фичи
я так и не понял вопрос, в целом ответ выше описывает как я это примерно вижу, или декомпозируй вопрос до состояния "я не знаю как мне создать строку в таблице" или может кто-то другой поймет что ты имеешь ввиду
так, окей. Я не понимаю как мне автоматически привязать модель Contract к Contract Template при создании контракта
Если не хочешь тратить время, заюзай сигнал
у тебя как выбирается какой именно шаблон будет привязан?
я думаю, там вопрос глубже, где-то на уровне отношений
Да вроде по гугл доку все проще
скрепка после формы с суммой — кнопка создать
ну вот ты передаешь во вьюху не только данные полей которые пользователь заполнил, но и id нужного тебе шаблона, во вьюхе создаешь инстанс и в поле шаблона передаешь этот id
как мне передать id нужного шаблона, если это просто список
ну так кнопка возле какого-то шаблона, ты нажимаешь на кнопку возле определенного шаблона, его id и передаешь
)))
у тебя же эти шаблоны слева выводятся в каком то template через tag for?
из шаблона где они выводятся
Да, они выводятся через for contract_templates in contracts. То есть во вьюхе я рендерю квери сет со всем шаблонами договора
нууу, в этой же вбюхе и создавай
а у тебя здесь, кстати, при нажатии на скрепку, и делается и сразу скачиваются?
Нет, создается и копируется ссылка, но на второе не надо обращать внимание
да, не, это я чисто для себя
вот ты же говоришь, что они выводятся в темплейте, так скинь
https://pastebin.com/xkfUgQLT
в каком у тебя здесь месте выбираются шаблоны?
у тебя договор это и есть шаблон?
Договор Москва.docx это шаблон?
ну тип это все шаблоны контрактов
не обращай внимание
+ это что?
мне нравится, когда из кусочка проекта берут код и хуй пойми что, где и откуда берется)
))
да нет, была бы она обычная, я бы сделал
тя смущает то, что это в docx записывается или что?
он не может id взять у шаблона, а шаблон через один к многим сделан
да нет, меня смущает, что там список этих шаблонов контрактов и я не знаю как автоматически взять конкретный, когда я создаю контракт
а ты рендеришь в шаблоне данные ?
не понял
да, я уже ему говорил брать через request.post id, но он не понимает как)
я знаю что это такое. Как у меня в реквесте окажется айди шаблона контракта, если это айди давно уже в бд
у тебя же через тег form выводятся шаблоны, ну але, подсунь туда свой id и забирай, когда будешь создавать
шаблоны контрактов я просто вывожу через contract_template_list
Да где ты их выводишь
Обсуждают сегодня