Beerenfeld, как внутри шаблона из объекта получать связанные записи - в документации вполне описано и не надо уклоняться от её чтения. Там синтаксис чуть отличается от .objects.all, но идея та же.
Rsa97, теорема Пифагора - частный случай теоремы косинусов. В геометрии Лобаческого есть своя теорема косинусов, но она слегка не такая, чтобы в ней можно было легко выделить частный случай, аналогичный теореме Пифагора.
Можно на imgur при условии что у картинки будет хотя бы один просмотр раз в 6 месяцев. Иначе удалят.
Ещё можно попробовать, например, положить на forumimage.ru через их хостинг форумом. Как через свой форум, так и на чужом. Там есть много картинк, которым больше 10 лет.
Но в целом да, сервисы, которые хранят картинки и позволяют вставлять их на сайты по постоянным прямым ссылкам, прилично вымерли. Это не особо выгодно, а проблем создаёт кучу. Например, если такую картину вставят в очень популярный сайт, то владелец хостинга картинок получил большой трафик, с которым придётся справляться его серверам.
А ещё это риск. Риск того, что сайт может умереть, в том числе без предупреждения.
Лучше, надёжнее и правильнее заложить хранение картинок в расходы своего сайта.
Такие хостинги картинок для форумов были популярны, когда было море форумов без возможности загрузить картинку. Сейчас такие форумы практически исчезли - любой нормальный форум поддерживает загрузку картинок.
Если это учебный проект, то его незачем вообще где-либо регистрировать. Можно вообще спрятать за http basic auth с каким-нить паролем и сообщить его тем друзьям, что будут участвовать в охвате.
Alexey Dmitriev, в случае с физическими ключами это регулрируется не криптопро, а самим ключом. Можно так выпустить, что извлечь его из устройства нельзя.
Понятное дело, что ключи на флешках извлекаются без проблем.
Артем Колчин, ну один из тривиальнейших способов - открыть страницу в браузере и экспортнуть в pdf. Можно с помощью всяких selenium/pupeeter/devtoolsprotocol это даже механизировать. И скорее всего такие сайты это и делают.
wkhtmltopdf используют qtwebkit, который сам не без проблем и прекратил развиваться, но хотя бы обрезок настоящих хромобраузеров.
Антон Вебсайтовский, для взаимодействия с ботом пользователь должен ему написать первым. Бот первым написать не может. Поэтому два бота находятся в патовой ситуации: чтобы написать другому боту, нужно, чтобы тот ему написал первым. И это никак не обойти.
baldurgate, отдельные систематически используемые библиотеки, не требующие частого обновления, не обладающие сложным интерфейсом можно и порой даже полезно поставить глобально. Например, я везде ставлю requests (правда, не совсем глобально, а в /home юзера в Linux), потому что эта библиотека нужна очень часто. А вот django я всегда ставлю именно в virtualenv, потому что django разных версий может иметь несовместимости и конкретный проект может сломаться, если будет использовать обшие библиотеки django. Пусть лучше у него будет фиксированная версия, на которой он точно работает.
Плюс когда начинаешь тестировать-экспериментировать, часто ставишь всякую фигню, которая через 5 минут тестов может быть отбракована - это тоже не стоит ставить глобально.
Плюс иногда нужно для решения конкретной задачи поставить библиотеку из исходников с github или даже её приходится самому пропатчить под какие-нибудь условия или самостоятельно обнаруженный и исправленный баг, в том числе только для конкретного проекта - этому тоже вряд ли место глобально.
Zettabyte, WA относится плохо, но в основном им не нравится использование для спама и для бизнес-деятельности. Но всё равно, для таких игр лучше использовать отдельный номер, который не страшно потерять.
Лучше всего, конечно, глупостями не заниматься. Есть телеграм, в котором всё это можно сделать не только легально, но также надёжно, безопасно и функционально.
WSGlebKavash, SELinux может помочь против конкретных векторов атаки, но в абстрактном случае какой в нём толк?
Например, пользователь может получить доступ к своим данным, если запустить чужой код в том же контексте, что и пользователь работает со своими данными, то доступ к данным точно так же будет получен.
Например, пусть данные лежат в зашифрованном контейнере, который смонтирован в текущую систему. Если в этот момент запустить вредонос, то он точно так же получит доступ к данным. Ведь смысл криптоконтейнера не в том, что к данным нельзя получить доступ, а что к ним нельзя получить доступ, имея лишь размонтированный контейнер.
Бороться надо не с доступом к данным, а с попаданием вредоноса к себе. Он в любом случае может сделать что-нибудь плохое, украсть что-то секретное или испортить что-то нужное.