170 похожих чатов

Помогите пожалуйста, совершенно не понимаю логики реализации этой фичи —

https://docs.google.com/document/d/1taxClgABpWC2Snl02hHJLT1_82H18Msv9gszvl5Jl30/edit?usp=sharing
То есть мне надо отобразить список всех шаблонов, там же формы для создания контракта по определенному шаблону. Буду безумно рад любой подсказке и помощи

51 ответов

49 просмотров

Документ приватный, без запроса доступа не посмотреть

в общем так и не понял что именно вызывает затруднение, но на всякий случай посмотри вот это https://docxtpl.readthedocs.io/en/latest/

шаблон типо в тройных кавычках? """{{fio}}"""?

ninja2 используй прост, если так

либо обычный форматтер

ninja2?

Ну шаблонизатор

ну наверное jinja все же))

Yeskela-Franco Автор вопроса

Есть две модели: ContractTemplate и Contract. У меня есть три объекта модели шаблон контракта с названиями: Первый, Второй, Третий. Они все выводятся. Напротив каждого форма ФИО и СУММА, форма была сделана от модели Contract(тк там эти поля). Я беру и заполняю форму ФИО и СУММА у шаблона контракта Второй, нажимаю на кнопку и у меня создается объект модели Contract, который автоматом привязывается к шаблону контракта Второй

Когда ты говоришь "у меня есть" и потом говоришь "вот это все я не понимаю как реализовать" я не понимаю где закончилось то, что у тебя уже есть и началось то что ты не понимаешь. Давай попробуем по порядку, есть 2 модели, шаблоны и договоры, в шаблонах у тебя три инстанса, в которых есть поле файлфилд и в него положен шаблон сделанный при помощи docxtpl (например). Теперь нужно чтобы у тебя в интерфейсе ты мог ввести данные в поля, соответствующие необходимым полям в договоре, после чего фронт отправляет данные запросом на бэк, вьюха получает, валидирует данные, создает договор с указанными данными. Дальше или прямо во вьюхе, или в методе save модели договора или при помощи сигнала, создается файл из нужного шаблона и в него передаются данные из договора, после чего полученный файл привязывается к договору.

Yeskela-Franco Автор вопроса

Давай я конкретизирую вопрос. Вот модели https://pastebin.com/B75AAVJi Вот измененная задача https://docs.google.com/document/d/1taxClgABpWC2Snl02hHJLT1_82H18Msv9gszvl5Jl30/edit?usp=sharing Я убрал все ненужное и оставил саму суть этой фичи

я так и не понял вопрос, в целом ответ выше описывает как я это примерно вижу, или декомпозируй вопрос до состояния "я не знаю как мне создать строку в таблице" или может кто-то другой поймет что ты имеешь ввиду

Yeskela-Franco Автор вопроса

так, окей. Я не понимаю как мне автоматически привязать модель Contract к Contract Template при создании контракта

Если не хочешь тратить время, заюзай сигнал

у тебя как выбирается какой именно шаблон будет привязан?

я думаю, там вопрос глубже, где-то на уровне отношений

Yeskela-Franco Автор вопроса

вот так это выглядит если что

Да вроде по гугл доку все проще

Yeskela-Franco Автор вопроса

скрепка после формы с суммой — кнопка создать

ну вот ты передаешь во вьюху не только данные полей которые пользователь заполнил, но и id нужного тебе шаблона, во вьюхе создаешь инстанс и в поле шаблона передаешь этот id

Yeskela-Franco Автор вопроса

как мне передать id нужного шаблона, если это просто список

ну так кнопка возле какого-то шаблона, ты нажимаешь на кнопку возле определенного шаблона, его id и передаешь

)))

у тебя же эти шаблоны слева выводятся в каком то template через tag for?

из шаблона где они выводятся

Yeskela-Franco Автор вопроса

Да, они выводятся через for contract_templates in contracts. То есть во вьюхе я рендерю квери сет со всем шаблонами договора

нууу, в этой же вбюхе и создавай

а у тебя здесь, кстати, при нажатии на скрепку, и делается и сразу скачиваются?

Yeskela-Franco Автор вопроса

Нет, создается и копируется ссылка, но на второе не надо обращать внимание

да, не, это я чисто для себя

вот ты же говоришь, что они выводятся в темплейте, так скинь

Yeskela-Franco Автор вопроса

https://pastebin.com/xkfUgQLT

в каком у тебя здесь месте выбираются шаблоны?

у тебя договор это и есть шаблон?

Договор Москва.docx это шаблон?

Yeskela-Franco Автор вопроса

ну тип это все шаблоны контрактов

Yeskela-Franco Автор вопроса

не обращай внимание

+ это что?

мне нравится, когда из кусочка проекта берут код и хуй пойми что, где и откуда берется)

))

Yeskela-Franco Автор вопроса

да нет, была бы она обычная, я бы сделал

тя смущает то, что это в docx записывается или что?

он не может id взять у шаблона, а шаблон через один к многим сделан

Yeskela-Franco Автор вопроса

да нет, меня смущает, что там список этих шаблонов контрактов и я не знаю как автоматически взять конкретный, когда я создаю контракт

а ты рендеришь в шаблоне данные ?

Yeskela-Franco Автор вопроса

не понял

да, я уже ему говорил брать через request.post id, но он не понимает как)

Yeskela-Franco Автор вопроса

я знаю что это такое. Как у меня в реквесте окажется айди шаблона контракта, если это айди давно уже в бд

у тебя же через тег form выводятся шаблоны, ну але, подсунь туда свой id и забирай, когда будешь создавать

Yeskela-Franco Автор вопроса

шаблоны контрактов я просто вывожу через contract_template_list

Да где ты их выводишь

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
14
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Почему стало ломаться на D11? "739002.86400000' is not a valid timestamp" function IncDateTime(aStamp:TTimeStamp;aKind:TTriggerKind;aInterval:Integer):TDateTime; //aStamp = 2...
Катерина Свиридова
8
У тебя в конфиге нигде нет deny all; или вообще любого deny?
Alexander Sherbakov
10
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Ребят, чет я уже не догоняю... Крч в коде на асм там происходит нечто вроде a+число (a+1, a+2 и т.д.). Но почему строка lea ecx, [edx+1] работает как a+1?? В edx берется адрес...
Alan 🔝 Бэброу
4
думаешь я не смогу также сделать? мне это просто не удобно
int 💳 𝙖𝙞𝙧 𝙗𝙞𝙜 𝙗𝙤𝙗 🔫 check bio / spam block / AFK / nohello.com / GMT+3
9
Карта сайта