Skip to content

Instantly share code, notes, and snippets.

@dvmn-tasks
dvmn-tasks / Сценарии использования.md
Last active Jun 16, 2020
Сценарии использования для третьего урока по Django ORM.
View Сценарии использования.md

Сценарии использования

Сценарии использования (use-cases) к третьем уроку модуля Django ORM курса Девман.

1. Исправить оценки

Школьник Ваня хочет исправить свои оценки. Сайт электронного дневника уже давно настроен и работает на отдельном сервере. У Вани есть к нему доступ. Он уже научился скачивать и загружать файлы на сервер. Также он умеет открывать консоль и запускать там команды.

У Вани есть ссылка на репозиторий с кодом, оттуда он и начинает свой путь:

@dvmn-tasks
dvmn-tasks / Сценарии использования.md
Last active Dec 8, 2020
Сценарии использования к первому уроку Django
View Сценарии использования.md

Сценарии использования

Сценарии использования (use-cases) к первому уроку модуля Django курса Девман.

1. Артём проверяет сайт в действии

Ваш заказчик Артём хочет потестировать сайт — убедиться что всё работает и всё красиво. Проверять от будет со своего ноутбука. У него уже есть доступ к админке, вы сообщили ему логин и пароль ранее. Также у него есть ссылка на репозиторий.

  1. Артём перешёл по ссылке на репозиторий GitHub
  2. В репозитории Артём нашёл ссылку на работающий сайт
@dvmn-tasks
dvmn-tasks / django_templates_break_vuejs.md
Last active Jun 10, 2020
Конфликт шаблонизаторов Django и Vue.js
View django_templates_break_vuejs.md

Конфликт шаблонизаторов Django и Vue.js

Вёрстка в index.html проходит сразу через два шаблонизатора — сначала Django на сервере, затем Vue.js на фронтенде. И там и там для подстановки используются фигурные скобки {{…}}, что может привести к неожиданному, очень странному результату.

Как убедиться, что проблема в этом

Откройте index.html и найдите там код, который Django может принять за свои места для подстановки. Выглядеть должно так: {{…}} или {%…%}.

Как чинить

@dvmn-tasks
dvmn-tasks / Сценарии использования.md
Last active Jun 6, 2021
Сценарии использования к уроку Верстаем онлайн-библиотеку
View Сценарии использования.md

Сценарии использования

Сценарии использования (use-cases) к уроку Верстаем онлайн-библиотеку курса Девман.

1. Хочу скачать библиотеку

Ваш заказчик — школьник Максим — хочет скачать к себе новую, свежую версию библиотеки. У него уже есть ссылка на репозиторий, вы сами её дали.

Максим не умеет программировать, он просто хочет скачать библиотеку для дедушки. Его утомляют какие-то установки питона и pip install, он просто хочет скачать книги.

View Глючит livereload.md

Глючит livereload?

Если вы запустили скрипт, а изменений на сайте не видать, то проверьте запускался ли код сборки сайта. Функция watch реагирует только на новые изменения, сделанные уже после запуска программы. Всё что случилось раньше она не заметит. Подробнее в слайдах.

Второй вариант — изменения были в py-скриптах. Их livereload не подхватывает, придётся перезапустить скрипт вручную.

Advanced level

Flask и Django умеют самостоятельно перезапускаться даже при изменениях в py-файлах. Но это довольно сложный трюк с использованием subprocess. Если интересно, почитайте код Werkzeug, фрагмент кода.

@dvmn-tasks
dvmn-tasks / how-to-check-urlencode.md
Last active May 13, 2020
Кодирование ссылок в шаблоне
View how-to-check-urlencode.md

Кодирование ссылок в шаблоне

Кодирование ссылок — это та проблема, которая хорошо умеет скрываться. Её сложно заметить, до поры до времени вы о ней даже на задумываетесь. А потом случайно узнаёте о том, что сайт сломан. Сломан он вот уже как полгода. Часть его страниц просто не работают. Пускай вы даже всё тестировали и всё проверяли, но они сломались, внезапно и незаметно.

Подробнее о проблеме:

Как тестировать

@dvmn-tasks
dvmn-tasks / Backslash in url.md
Last active May 13, 2020
Что делать с обратными слешами \ в адресе?
View Backslash in url.md

Что делать с обратными слешами \ в url-адресе?

В URL не должно быть обратных слешей \, стандартом разрешён один лишь разделитель, и это прямой слеш /. Если вы работаете на Windows, то наверняка столкнётесь с рядом проблем.

Проблемы начинаются когда в данные попадают пути с каталогами:

images\photo.png
books\amigo.txt
@dvmn-tasks
dvmn-tasks / Как проверить related_name.md
Last active May 13, 2020
Как проверить related_name
View Как проверить related_name.md
@dvmn-tasks
dvmn-tasks / README.md
Last active Jul 13, 2020
Шаблон. Сообщение проверяющему
View README.md

Добрый день. Вы просили связаться.

У меня проблемы с уроком {название} в модуле про {тема}. Вот мой код: {ссылка}.

В разделе "Где проблема" было вот это:

{скриншот}

@dvmn-tasks
dvmn-tasks / README.md
Last active Apr 14, 2021
Как отправить файл с помощью Requests
View README.md

Этот сниппет кода основан на ответе к вопросу о загрузке файлов через Requests на сайте StackOverflow.

import requests

with open('image.jpg', 'rb') as file:
    url = '...'
    files = {
        'media': file,  # Вместо ключа "media" скорее всего нужно подставить другое название ключа. Какое конкретно см. в доке API ВК.
    }