Django в чем ошибка?
Столкнулся с ошибкой, что при введении в поле поиска слова и при нажатии на найти вылетает ошибка "UnboundLocalError: local variable ‘page_object’ referenced before assignment". Что делать?
{% extends ‘food/base_main.html’ %}…
Столкнулся с ошибкой, что при введении в поле поиска слова и при нажатии на найти вылетает ошибка "UnboundLocalError: local variable ‘page_object’ referenced before assignment". Что делать?
{% extends ‘food/base_main.html’ %}…
Реализовываю логирование действий пользователей веб-приложения, и хотел бы получше разобраться в этой теме. В частности, интересуют вопросы:
Какие столбцы в таблице логов обязательно необходимо создать (например, user_id, user-agent и т.д…
Главная страница сайта выводится по запросу http://localhost:8080/index.html, как можно вывести её с помощью http://localhost:8080/main?
public class Main {
public static void main(String[] args) throws Exception {
DBService…
Я создал модель "Слова для изучения" и различных групп, создаваемых пользователями, файл models.py
class ForeignWord(models.Model):
from_word = models.CharField(max_length=256, verbose_name=’Исходное Слово’)
to_word = mod…
Нужно срочно сoздать сайт-визитку, резюме или портфолио, но не хочется использовать Wordpress и Tilda? Расскажем, как сделать сайт или блог за 5 минут с помощью SSG-генератора на Python.
Статические (а точнее – пререндеренные) сайты переживают второе рождение, и неудивительно: они мгновенно загружаются, выдерживают любой трафик, им не нужен дорогой хостинг, они не используют базы данных и потому их практически невозможно взломать. С помощью генератора можно быстро сделать сайт-визитку, резюме или портфолио на основе любого готового HTML/CSS/JS-шаблона.
Самые популярные генераторы статических сайтов (SSG) написаны на Ruby (Jekyll) и Go (Hugo), но есть и несколько интересных решений на Python: Pelican, Lektor, Nikola и Hyde. Pelican – наиболее простой и в то же время мощный Python-генератор: с его помощью можно создать собственный сайт или блог в считаные минуты.
Pelican работает по тому же принципу, что и другие генераторы:
Пеликан разделяет все плюсы и минусы других SSG. Среди плюсов:
Есть и минусы:
У большинства генераторов статических сайтов, за исключением Lektor, нет админ-панели: управлять контентом приходится через CLI. Pelican тоже управляется из командной строки, но, в отличие от других генераторов, его команды максимально просты. Для запуска Пеликана необходимо наличие в системе Python 3.6+.
Как и любой более-менее серьезный Python-проект, Pelican целесообразно устанавливать в виртуальное окружение. Сначала создадим директорию для нового проекта, а затем воспользуемся менеджером зависимостей pipenv
:
mkdir e:\myblog
cd e:\myblog
mkdir .venv
pipenv install pelican[Markdown]
Процесс установки займет около минуты. После завершения установки активируем виртуальное окружение:
pipenv shell
Пока виртуальное окружение активно, перед именем директории проекта отображается (.venv)
. Запустим команду для создания файла конфигурации Пеликана, pelicanconf.py:
pelican-quickstart
На экране один за другим будут появляться вопросы о базовых настройках сайта. Отвечать на них можно как угодно – потом настройки можно будет поправить вручную в pelicanconf.py.
После того как мастер настройки Pelican получит ответы на все вопросы, можно приступать к созданию содержимого сайта. Пеликан автоматически создает две папки – content и output. В первой папке пользователь сохраняет посты, страницы и изображения, во вторую генератор выгружает готовые html-страницы. Посты нужно сохранять в поддиректории articles, страницы – в pages, изображения – в images. Поддиректории придется создать вручную.
Для генерации сайта нужно положить в папку content\articles хотя бы один Markdown файл. Например, такой:
Title: Это мой новый блог на Пеликане
Date: 2022-03-15 10:20
Category: Новости
Slug: first-post
Pelican – быстрый и простой в использовании генератор статических сайтов с CLI. В стандартный дистрибутив входят две темы оформления. Эта тема называется simple.
После создания первого поста можно запускать генератор:
pelican content
Запустить сервер можно тремя способами:
pelican --listen
– стандартный;pelican -l
– сокращенный;pelican -r -l
– с автоматической регенерацией контента (используется в режиме разработки – для кастомизации темы, тестирования плагинов и так далее). Команду запуска можно комбинировать с командой генерации контента: pelican content -l
.Сайт будет доступен в браузере по адресу http://localhost:8000/.
Остановить сервер можно комбинацией Ctrl + C
, а выйти из виртуального окружения – командой exit
.
Хотя по количеству тем Пеликан пока что уступает Hugo, у пользователей все-таки есть неплохой выбор: подходящую тему можно подыскать на сайте Pelican Themes или в репозитории на Гитхабе. Изменить оформление сайта очень просто: архив нужно распаковать в поддиректорию .venv\Lib\site-packages\pelican\themes, а в конфигурационном файле указать название темы:
THEME = 'flex'
После этого нужно сгенерировать сайт в соответствии с новой темой – pelican content -r -l
, и можно любоваться новым дизайном.
По сути, изменить оформление Pelican-сайта так же просто, как сменить тему динамической CMS наподобие Wordpress.
Если в каталоге готовых тем не нашлось шаблона по вкусу, его несложно сделать самостоятельно. В этом блоге есть подробный урок по созданию темы для Pelican-сайта на основе готового бесплатного HTML/CSS-шаблона.
Главный недостаток статических сайтов в сравнении с динамическими CMS – отсутствие встроенного поиска, комментариев и форм для общения с посетителями. Возможность компенсировать эти недостатки существует.
Решить проблему с поиском на Pelican-сайте можно двумя способами:
Для опроса посетителей можно подключить Google-формы. Для обработки формы обратной связи удобнее использовать сервисы:
Подобных платформ много, набор услуг у них примерно одинаков:
На бесплатных тарифах, как правило, количество обработок ограничено, но в большинстве случаев для частного блога этого лимита будет вполне достаточно.
Самый простой способ подключить комментарии к статическому блогу – использовать Disqus. Этот способ также можно назвать самым нежелательным: сервис загружает массу трекеров и использует личные данные пользователей.
Другие решения:
Долгое время пользователям приходилось выбирать динамические CMS с базами данных только потому, что перспектива редактирования нескольких десятков страниц статического сайта приводила их в ужас. Добавился или изменился один пункт в меню, которое отображается на всех страницах? Надо редактировать все страницы. А уж если нужно изменить дизайн…
Генератор статических сайтов снимает проблемы редактирования и смены дизайна: эти операции Pelican выполняет так же быстро, как динамическая CMS. Гибкость и простота Pelican позволяют использовать его с любыми шаблонами. Нашли свежую Bootstrap-тему с трендовыми анимационными эффектами? Pelican наполнит броский шаблон контентом и превратит его в быстрый, функциональный, масштабируемый сайт, которому подойдет самый простой хостинг.
<form action=’http://vvlsmd9t.beget.tech/%D0%9A%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82%D1%8B.html?’ method=”POST” class=”quote”>
<div>
<label>Имя</label><br>
<input name=”имя” type=”text” placeho…
у меня есть следующий код
<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
<title>Brython Examples</title>
<scrip…
Начинаю изучать джанго, хочу сделать так, чтобы при добавлении рецепта пользователем по умолчанию ставились имя и фамилия авторизованного пользователя и потом она писалась в общем списке всех рецептов? Пишет много ошибок, но вроде бы мигра…
Заполнение анкеты. сначала тип выбирается, потом данные вводятся.
Как правильно сделать что бы сначала страница 1 выводилась, потом страница 2 и т.д.?
…
Всем привет,я тут новенький)
Вопрос актуальности обучения.
Начинается в мае 2022,закончится май 2023,насколько актуальны будут знания на тот момент?
…
У меня есть несколько глобальных ExceptionFilter. Http and All.
Я хочу сначала ловить HttpException. А через All ловить другие ошибки
http-exception.filter.ts
import {
ExceptionFilter,
Catch,
ArgumentsHost,
HttpException,
Log…
Не получается перерисовать страницу с помощью AJAX JQery.
Код js:
$.ajax({
url: form.attr(‘action’),
type: ‘POST’,
dataType: ‘json’,
data: data,
success: function(json) {
if (json.error =…
Задача чисто теоретическая, поэтому тонкости можно не уточнять. А если от тонкостей что-то зависит, то можно об этом написать.
Понятно только то что нужно сделать конкурента Viber, Telegram, Whatsapp. Похоже так обычно не делают, а сначала…
Рассказываю о своем первом опыте участия в онлайн-батле для кодеров и делюсь одним лайфхаком.
Всем привет! На днях узнал, что Сбер совместно с Geecko сделали онлайн-игрушку для кодеров под названием SberFight. Здесь все, называющие себя громким словом «программист», могут побороться за ценные призы и признание ИТ-сообщества.
Идея не нова, но довольно редко можно увидеть нечто подобное в рунете. Все мы в душе геймеры — независимо от возраста и рода деятельности. Однако не у всех получается пошпилить в удовольствие в CS:GO или Mortal Kombat из-за обилия однообразной рутины и горящих дедлайнов.
С помощью SberFight наконец-то можно применить накопленные за годы трудовой деятельности знания и победить в жестком спарринге с виртуальным противником. Но давайте обо всем по порядку.
Зайдя на сайт, вы сразу окунетесь в мир старых восьмибитных консолей с пикселизированными картинками. Логотип игры и дизайн всего интерфейса сделаны а-ля StreetFighter. Кто помнит этот легендарный олдскульный файтинг конца 90-х?
Лично я несколько минут поностальгировал, прежде чем приступить к регистрации. Зарегистрироваться просто: для начала необходимо создать аккаунт в Geecko ID. После этого система спросит у вас, хотите ли вы работать в Сбер. Это не праздное любопытство, но об этом я расскажу чуть позже. Определяетесь с ответом, нажимаете «продолжить» и вы попадаете на главную страницу игры.
Вот это окошко меня повеселило:
Как вы думаете, что я нажал? Все верно: скучать не хотелось! И понеслось: треки все крутые, прямо знали ребята, что мне будет по душе. Далее перед вами появятся два варианта дальнейшего развития событий:
Так как друзей со мной не было, я решил пройти отборочный тур. До конца которого, к слову сказать, осталось не так много времени.
Следующая страничка предложит выбрать персонажа:
Их шестеро, все со своими особенностями. У каждого — уникальная «сберталити»: своего рода ульта, кастуемая в конце эпичной битвы, чтобы уничтожить противника. Увидев первого из предложенных героев, я сразу понял, что он мне кого-то напоминает:
Один из персонажей – сам Герман Греф, глава Сбера. Если играть за него, то у вас в арсенале будет крутейшая сберталити: падающий с небес банкомат сами понимаете какого банка. И это не единственная пасхалка в игре.
После выбора бойца открывается первый этап отборочного тура. Их всего восемь, и сложность увеличивается в геометрической прогрессии от уровня к уровню.
Первый и второй – довольно легкие, над третьим уже надо немного подумать и так далее. Переиграть каждый из восьми уровней можно только один раз.
Все задачи — на грамотное построение логики и ее реализацию любым из доступных вариантов. Здесь надо будет создать нужные для прохождения теста методы, поработать с циклами, перебрать несколько массивов — и все это на время. За прохождение каждого из этапов игрок получает фиксированное количество баллов, а также очки за скорость — в зависимости от того, как быстро он справился с задачей.
В конце баллы суммируются и вносятся в сводную таблицу.
Скажу еще, что все тест-кейсы нескучные и я с большим интересом их решал.
Правда, в некоторых заданиях я не сумел до конца разобраться с условиями. Например, с задачей про «сделки и картели» мне не хватило наглядных примеров (а скорее, навыков и знаний), но мои входные данные программа все же обработала корректно. Возможно, мои решения были не совсем универсальными, да и счетчик времени давил на нервы, но все равно решение задачи меня увлекло.
При удачном прохождении каждого испытания появляется ринг. Здесь персонаж проводит серию комбо-ударов в лучших традициях StreetFighter и уничтожает оппонента с помощью сберталити. Выглядит это так:
Почему разработчики решили сделать такой турнир по спортивно-скоростному программированию? Идея была в том, чтобы предоставить возможность всем, кто связан с ИТ-индустрией и умеет писать код, испытать свои силы и морально отдохнуть.
Стоит отметить, что обычно на турнирах по программированию существуют жесткие ограничения по времени выполнения алгоритма и использования памяти. Здесь вы можете об этом не волноваться — и это большой плюс для всех неискушенных игроков и начинающих программистов.
Написание кода в игре отличается от того, что вы привыкли делать на работе. Атмосферу создают красочные фоны, прикольные персонажи и забавные анимационные фрагменты. Надо признать, что Сбер здесь постарался, и за это ему огромный респект.
А еще SberFight предоставил возможность кодить на нескольких языках программирования, чтобы не ограничиваться только наиболее популярными. Решать задачи можно на JavaScript, Typescript, Python, Swift, Java, Kotlin, Go,C#, C++, Ruby, PHP, Objective-C, Dart, Elixir, Rust, Scala.
Вернемся к вопросу, заданному при регистрации: о желании работать в Сбере. Действительно, компания заинтересована в притоке свежих кадров, и лучшие игроки, набравшие наибольшее количество баллов, получат возможность устроиться на работу в Сбер без собеседования. Ну круто же! Я имею в виду саму идею геймификации процесса поиска кандидатов.
А если вдруг вам по каким-то причинам что-то не подойдет – всегда можно отказаться от работы. Классный подход к проведению предварительной оценки кандидатов: задачи решаются с куда большим рвением, когда есть история и цель.
Помимо отборочного турнира, существует еще два режима игры: арена и PvP.
Режим PvP (player versus player) подразумевает батл один на один, против друга или случайного игрока, выбравшего тот же режим. Победитель каждого поединка определяется по суммарному количеству пройденных тест-кейсов и затраченному времени с поправкой на коэффициент языка программирования.
Режим Арена работает по принципу «стенка на стенку». Игрок создает или выбирает клан, к которому желает присоединиться. Вместе с товарищами по оружию он бьется насмерть с противниками из другого клана. Из оружия — только код, серые клеточки и навык работы в команде.
Соклановцы могут общаться друг с другом в голосовом чате и помогать другим. Однако просматривать решения игроков своего клана и подсказывать решение вы можете, только если сами решили задачу. В поединке между кланами побеждает команда, набравшая наибольшее количество очков: это определяется по суммарному количеству пройденных за единицу времени тестов.
Результаты всех поединков заносятся в турнирную таблицу — Рейтинг Кланов. Каждый месяц лучшие команды получают ценные призы.
Как я уже упоминал, на отборочном этапе нужно пройти 8 уровней, победив 8 бойцов. После этого вы попадаете в турнирную таблицу с набранными во время игры баллами и дожидаетесь финала этого эпического соревнования.
В финальном бое 25–27 февраля сразятся 256 игроков, набравших максимальное количество очков в отборочном туре. После определения победителей будет раздача призов и прочих плюшек. К слову, о призах — они зачетные.
Первые 4 места получат одно из умных устройств Сбера плююююс:
1 место: MacBook Pro, M1 PRO, 512 гб SSD, RAM 16 гб, дисплей Liquid Retina XDR 13″
2 место: Iphone 13 pro 128 гб
3 место: Playstation 5
4 место: Apple Watch Series 7
А еще сбер-порталы, рюкзаки, худи и термокружки. Всего призов будет 256 и, как вы уже поняли, никто не уйдет без награды.
Довольно интересный сюжет и сама идея, ведь обычно подобные вещи реализованы без души. Тут видно, что разработчики понимают аудиторию и знают, что делают.
Игра проверяет скорость мыслительного процесса и сообразительность, однако ограниченное время подталкивает к не самым крутым решениям. Приятная графика, стиль повествования, сюжет, музыка и неплохой юмор — в общем, все сделано здорово. Плюс ко всему всегда интереснее выполнять задания в игровой форме. Огромный респект всем, кто приложил руку к созданию SberFight. Ставлю зачет!
PS: некоторые задачи меня выбесили. За это минус балл.
После написания всех данных в формах ничего не добавляется в бд, хотя в терминале пишет, что пост запрос отправлен и не выдает ошибок. Как исправить?
forms.py
from django.forms import ModelForm, TextInput, Textarea, NumberInput, FileInput
…
Например я имею такое приложение celery
from celery import Celery, Task
class Config:
broker_url=’pyamqp://[email protected]/’
enable_utc = True
task_track_started = True
result_backend=’rpc://’
include=[‘proj.tasks’]
app = Ce…
Ребят, рассудите пожалуйста. Я написал мобильное приложение Помодоро Таймер (25 минут учишься 5 отдыхаешь), и хочу переписать его уже под веб приложение. У меня есть модель где происходит основная логика таймера на паттерне State и я не мо…
я пишу сайт параллельно изучая React. Сейчас мне нужно писать back и тут у меня проблема с выбором инструмента. Я хочу начать изучать Node.js, но у меня есть код который написан на питоне и переписать его на js невозможно из-за используемы…
Всем привет , возникла проблема с обновлением товара в корзине. При нажатии на кнопку "Обновить" переходит на страницу и выдает ошибку Invalid argument supplied for foreach().
LaravelShoppingcart
View
“`
<form act…
Вопрос такой – у меня есть переменная String, в нее нужно записать текст, который нужно получить с фронтенда (фронт на JavaScript).
Поле, с фронта, из которого нужно взять текст, у меня есть. (Название поля)
Не могу понять, как это сделать…
Всем доброго времени суток. У меня есть задание, дано многоуровневое меню (2 уровня), данные берутся из ИБ в файле .top.menu_ext.php и передаются в шаблон, где нужно интегрировать вывод пунктов меню в виде выпадающего списка.
Так же нужно …
Всем доброго времени суток. У меня есть задание, дано многоуровневое меню (2 уровня), данные берутся из ИБ в файле .top.menu_ext.php и передаются в шаблон, где нужно интегрировать вывод пунктов меню в виде выпадающего списка.
Так же нужно …
Учусь создавать различные небольшие приложения в android studio. Сейчас столкнулся с ситуацией, когда нужно написать бэкенд для приложения(пишу на java). До этого использовал только SQLite(бэк писать не приходилось). Немного знаком с сервл…
у меня нейронка написанная на питоне. Я хочу создать сайт на фреймворке vue с использованием этой нейронки. Как её можно прикрепить? Это должно считаться на бекэнде или использовать какой то тронслятор кода?
…
Кто такой фуллстек-разработчик, сколько он зарабатывает и с чего начать обучение в 2022 году? Все ответы в нашей дорожной карте.
Чтобы понять особенности задач, которые решает фуллстек-специалист, нужно ясно представлять себе специфику веб-сайтов – как правило, они состоят из двух частей: клиентской (интерфейса) и серверной. Любое онлайн или мобильное приложение состоит из фронтенда (видимой клиентской части) и бэкенда (невидимой серверной части). По этой причине от фуллстек-разработчика ожидают досконального понимания и полной реализации интерфейсных и серверных частей приложения.
Фронтенд-разработка включает в себя создание пользовательского интерфейса со всеми его интерактивными функциями. Перед тем как приступить к реализации проекта, разработчик должен определить, какие данные будут вводиться пользователем – к примеру, местоположение, контактная и личная информация.
Невидимая серверная часть сайтов и приложений обрабатывает, хранит в базах данных и предоставляет по запросу пользовательскую информацию, которую собирает фронтенд. Все динамические и многофункциональные сайты требуют наличия бэкенда.
Многие программисты приходят к выводу, что совмещать фронтенд и серверную разработку сложно. Чтобы стать фуллстек-специалистом, лучше начать либо с интерфейсной разработки, либо с создания бэкенда, и уже позже, приобретя нужную квалификацию и опыт, браться за вторую часть. Для начала возьмитесь за доскональное изучение всех возможностей языка программирования, на котором базируется нужная вам часть.
Чтобы сократить процесс обучения, нужно следовать четкому плану. Вот перечень того, что нужно изучить, чтобы стать фуллстек-специалистом:
Рассмотрим подробнее технические навыки, которые вам нужно приобрести.
Опытный фуллстек-разработчик способен создать и реализовать концепцию с нуля. При этом специалист руководствуется техническими, функциональными и эстетическими критериями, предъявляемыми к будущему веб-приложению.
Эти языки – основа фронтенд-разработки. Используя HTML, разработчик определяет структуру веб-страниц. С помощью CSS создаются дизайн и стиль оформления. Для создания интерактивных веб-приложений с уникальным и интуитивно понятным интерфейсом фуллстек-разработчик должен в совершенстве владеть HTML и CSS.
Еще один обязательный язык для фронтенда – с его помощью создаются интерактивные приложения с адаптивным дизайном. Фуллстек-специалисты используют и чистый JavaScript, и библиотеки / фреймворки на его основе – React, Vue, jQuery, Ember, AngularJS и так далее. В дополнение к JavaScript необходимо знать, как работать с интерфейсом DOM и форматом JSON.
Git – самая популярная распределенная система контроля версий. Эта система облегчает разработку:
Профессиональные разработчики обычно работают с системой с помощью аккаунта на GitHub. Для работы с Git нужно выучить основные команды системы.
Для разработки серверной части веб-приложений используются несколько технологий. К самым популярным относятся:
Знание REST помогает разработчикам создавать масштабируемые приложения, в которых все системы легко обмениваются данными. Сервисы REST выступают в качестве посредников между бэкендом и фронтендом и позволяют наилучшим образом использовать возможности HTTP-протокола. Протокол HTTP используется для передачи данных от сервера к клиенту, а SOAP применяют для обмена сообщениями в XML формате.
Для работы любого динамического сайта или приложения нужна база данных. Фуллстек-разработчик должен знать, в каких случаях и как использовать:
NPM входит в состав Node.js. Помогает управлять зависимостями и установкой пакетов, предотвращает появление конфликтов. Обладает гибкими настройками и используется на всех этапах разработки приложения.
Для каждой задачи нужен свой набор (стек) технологий. Профессиональный фуллстек-разработчик постоянно отслеживает и изучает новые технологии, чтобы иметь возможность выбрать оптимальную основу для реализации конкретного проекта. Среди самых популярных стеков:
Помимо технических знаний и опыта, для эффективного решения сложных задач фуллстек-разработчику необходимы следующие гибкие навыки:
В последние годы наблюдается рост спроса на фуллстек-девелоперов. Предлагаем ответы на вопросы, которые чаще всего возникают у людей, планирующих стать фуллстек-специалистами.
Это возможно, если у вас есть достаточный объем знаний о CSS, HTML, JavaScript, базах данных, Python или PHP (Laravel). Чем больше навыков вы приобретете, тем больше получите шансов на то, что работодатель заметит ваше резюме.
Нужны всесторонние навыки в создании фронтенда, бэкенда и по работе с базами данных:
В секторе разработки бизнес-приложений чаще всего используют MERN. Однако любой фуллстек-разработчик должен иметь представление о существовании других стеков, к примеру, LAMP и Django. Как правило, все компании-разработчики предлагают несколько стеков, поскольку различные заказчики нуждаются в разных решениях.
Все зависит от стартового уровня знаний и интенсивности обучения. В среднем, при наличии должной мотивации, на получение базовой квалификации уходит 3-6 месяцев.
Спрос на универсальных девелоперов остается стабильно высоким, поскольку именно их предпочитают вовлекать в процесс разработки мощных и масштабируемых бизнес-приложений.
Зарплата зависит от нескольких факторов – основных и дополнительных навыков, опыта, местоположения. В США фуллстек-специалист уровня Senior может рассчитывать на $300 000 в год. Московские компании в вакансиях на портале hh.ru предлагают сеньорам от 100 000 до 510 000 рублей в месяц.
Помогите пожалуйста как я могу получить эл. почту плательщика?
Хочу получить эл. почту и отправить на почту информацию
чтобы попап по клику на кнопку открывался один раз
такое ограничение делают на бекенде?
Никак не могу настроить доступ для других других устройств в локальной сети для сайта на openserver. Делал по гайду: во вкладке "сервер" поменял ip-адресс сервера на все возможные, а во вкладке "алиасы" настроил исходны…
ИМЕЕТСЯ: Бэкенд написан на C/C++ и связан с библиотекой HTTP-сервера/клиента тоже на C/C++. Фронтенд написан на HTML/CSS/JavaScript. Взаимодействие фронтенда с бэкендом происходит через HTTP-запросы и ответы и всегда по инициативе фронтенд…
def regAccount():
email = "".join(choice("fdfdf24456789abcdefgh") for _ in range(10))
+ "@gmail.com"
ud = getUID()
sess_id = requests.post(
"https://yug-krdr-itv04.svc.iptv.rt.ru/a…
Свежие комментарии