DON'T STOP AND CODE – Telegram
DON'T STOP AND CODE
103 subscribers
58 photos
2 videos
1 file
119 links
Мой путь в программировании
#python

Для связи: @avagners
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня:
- полностью удалил весь репозиторий с пет проектом и поставил все с нуля. Проблема была в структуре папок. Я ее изначально изменил. Теперь вернул стандартную структуру, которая формируется автоматически при создании django проекта
- вынес модели в разные приложения: customers, orders, users, products, core
- настроил шаблоны
- подключил стили, сделал лого, фавиконы
- настроил urls, базовые views и шаблоны для всех приложений - все работает! =)
🔥2👍1🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Сделал форму для добавления новых клиентов.

При нажатии на кнопку "Добавить клиента", открывается новая страница с формой.
Заполнив поля и нажав кнопку "Добавить", в базе данных сохраняется новый клиент, а пользователь попадает на страницу со списком клиентов.
👍2🔥1
Сделал форму для добавления новых услуг.
Поработал со стилями форм.
Научился добавлять дополнительные атрибуты полей. Оказывается есть несколько способов это сделать:
- создать фильтр, с помощью которого можно например добавить css класс;
- дописать класс формы, в котором можно дополнительно указать различные атрибуты для полей;

В моем случае нужен был placeholder. Без него форма не принимала тот вид, который я планировал.
Сейчас все работает)
👍1🔥1
Сделал форму редактирования.
Сделал довольно быстро.

А потом нужно было сделать, чтобы при нажатии на услугу в таблице открывалась форма редактирования.
Было не просто. Нужно было сделать так, чтобы вся строка была ссылкой.

Сначала на stackoverflow прочитал, что без js тут не обойтись. Даже немного расстроился.
Пробовал по разному завернуть элемент. Получилось сделать ссылкой не всю строку, а только элемент внутри ячейки.

Меня это не устраивало. Тогда я задал вопрос по другому и нашел ответ в документации bootstrap.
Нужно добавить несколько классов:

- stretched-link в саму ссылку
- position-relative в родительский элемент

Пруф: https://getbootstrap.com/docs/4.3/utilities/stretched-link/

Вот так просто. И никакого js. =)
👍1🔥1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
- Закрепил вчерашние знания и сделал формы редактирования для Orders и Customers.
- Добавил noscript в ссылку. Теперь при наведении на элемент таблицы всплывает подсказка "Редактировать".
- Навёл порядок в импортах.

- Создал новый тикет на github. Задача реализовать возможность загрузки данных из csv файлов.
Подробнее задача описана по ссылке: https://github.com/avagners/first_crm/issues/5
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Cделал модальное(всплывающее) окно для загрузки данных из csv файлов.
Саму функцию еще не писал
👍4
Кстати, на ЯП начали проходить блок по алгоритмам)

Пока решать задачи довольно просто. Чувствую, что сотни решённых задачек на stepik не прошли зря)
🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Первый раз делал функционал по загрузке данных из файла для пользователей на сайте.
Оказалось не такой простой задачей.
Пришлось отказаться от модального окна, которое вчера сделал.

Реализовал через отдельную страницу.
Как всегда помогла документация: https://docs.djangoproject.com/en/4.0/topics/http/file-uploads/

Думаю, что немного позже смогу сделать через модальное окно.
Сейчас понимаю какие ошибки там допустил.

Результат: все работает!
Теперь пользователь может загрузить данные из CSV файла в CRM. =)
🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Прошел совсем крошечный обзорный мини-курс на hexlet "Python для продвинутых".
Повторил:
- обработку исключений
- тестирование

Узнал о возможностях функционального программирования на Python:
- чистые функции
- неизменяемые данные
- функции высшего порядка
- генераторы списков
- анонимные функции (lambda функции)
- замыкание

Тема чистых функций показалась очень интересной. Думаю следует ее изучить и применять в практике.
👍3
Создал 2 статические страницы.
Добавил их в навигацию выпадающим списком.
👍3
Интересная статистика)

Последние 30 дней я отправляю свой код на GitHub.
Без выходных.😅

За 2022 год я отправил 470 коммитов) И это только учебные проекты)
Аккаунт завел 15 августа прошлого года.

ссылка на мой аккаунт: https://github.com/avagners
Подписывайтесь)
🔥3
Сделал пагинацию в CRM.
Пока только в customers.
👍3
Добавил пагинацию для Products и Orders.
Столкнулся с проблемой некорректного порядкового номера.
При переходе на вторую страницу, порядковый номер начинался заново.
А должен продолжаться.

Один запрос в гугл и вот решение:
https://stackoverflow.com/questions/9373532/how-to-show-the-correct-object-numbers-when-using-django-pagination
👍3
ptpython

Интерактивная оболочка Python с подсветкой синтаксиса, автоматическими отступами, подсказками кода, многострочным редактированием.
https://github.com/prompt-toolkit/ptpython

То чувство, когда заменил кнопочный телефон на современный смартфон)))
👍2🔥1