• Что означает "on_delete doesn’t create a SQL constraint"?

    @Ariurn
    Если совсем прямо: решение о том, что делать с моделью после удаления её ForeignKey согласно on_delete принимается на уровне django. База данных не принимает в этом никакого участия, она выполняет лишь роль хранилища данных.
    Ответ написан
    Комментировать
  • Как правильно выбрать отношение полей в данном случае?

    @Ariurn
    Если я правильно понял, у вас интернет-магазин по схеме: пришёл, добавил товары в корзину и оформил заказ. Как это делал я:
    • Для каждой новой сессии (django.contrib.sessions.models.Session), которая создаётся при посещении пользователем (даже не авторизованным) сайта, создаётся заказ (Order), который имеет статус "Не оформлен" и не отображается в админ-панели. Он имеет ForeignKey (у которого on_delete=models.CASCADE), привязанный к Session. Например: order.session=request.session
    • При добавлении товара в "корзину" создаётся модель OrderProduct, которая имеет два ForeignKey: один - Product, второй - Order, у каждого on_delete=models.CASCADE. Они указывают на то, какой товар добавлен в корзину и какой пользователь его добавил соответственно. Также, нужны доп. поля (например, количество товара, добавленного в корзину).
    • При оформлении заказа, ему устанавливается статус "Оформлен", он отображается в админ-панели, и администратор может с ним работать.

    Есть один нюанс: при большом потоке пользователей на сайт будет создаваться много заказов (Order), которые не будут удаляться, т.к. Session автоматически не удаляются (насколько мне известно). Решение проблемы: запускайте через cron команду python manage.py clearsessions
    Ответ написан
    Комментировать
  • Как добавить загрузку страницы?

    @Ariurn
    $( document ).ready(function() {
        // Код, запускаемый после полной загрузки страницы.
    });

    Обратите внимание, что перед этим скриптом необходимо подключить библиотеку jquery.
    Подробнее: https://learn.jquery.com/using-jquery-core/documen...
    Ответ написан
    1 комментарий
  • Как провести OpenID авторизацию пользователя через аккаунт Steam на Python?

    @Ariurn Автор вопроса
    Нашёл простое решение проблемы на GitHub. Удивительно, что проект малоизвестен.
    Ссылка: https://github.com/TeddiO/pySteamSignIn
    Ответ написан
    Комментировать
  • Как на сайте при регистрации отсеивать не существующие emailы?

    @Ariurn
    1) Проверка с помощью регулярки (чтобы не писали абракадабру):
    function validateEMAIL($EMAIL) {
    $v = "/[a-zA-Z0-9_-.+]+@[a-zA-Z0-9-]+.[a-zA-Z]+/";
    return (bool)preg_match($v, $EMAIL);
    }

    2) Проверить наличие MX-записи в домене (гарантия того, что такой домен существует и обрабатывает поступающие почтовые запросы):
    if (!checkdnsrr($domain, 'MX')) {
    // domain is not valid
    }

    Но учтите, что всё это не является достаточным условием того, что такой e-mail существует на данном домене.
    Ответ написан
    5 комментариев
  • Как закрыть прямой доступ к файлам в папке через .htaccess, но разрешить если есть ?key=secret?

    @Ariurn
    Возьмите отсюда.
    Что касательно разных паролей для разных файлов, то через .htaccess такое сделать не получится. Но если речь идёт о программной обработке, то можете создавать пароль путем взятия хэша файла (а не его имени, это не самая лучшая идея). Но я бы на вашем месте ещё использовал соль.
    Ответ написан
    Комментировать
  • Как убрать рубрики из url и хлебных крошек wordpress?

    @Ariurn
    Делайте поиск по БД на основе переданного в url параметра (например, forbo). Правда, это будет работать только при условии, что данный параметр уникален по базе.
    Ответ написан
    Комментировать
  • Laravel, проблема с подключением к БД?

    @Ariurn
    Попробуйте вместо 127.0.0.1 указать localhost.
    Ответ написан
    Комментировать
  • Почему компютер игнорирует загрузочную флешку с linux?

    @Ariurn
    Возможно эта статья вам поможет.
    Ответ написан
    Комментировать
  • Каким способом (книги, курсы, лекции, вебинары и пр.) порекомендуете учить WEB? Расскажете свои истории становления в этой сфере?

    @Ariurn
    Единственная книга, которую мне за всё время пришлось использовать - Герберт Шилдт по плюсам. Да и то не для Web-разработки, а чисто для понимания основ логики программирования.
    Если говорить конкретно про Web: самоучка методом проб и ошибок, лазанья по форумам итд. Сначала просто начал глядеть исходный код различных сайтов (было интересно, как оно всё устроено). Потом начал гуглить на различные темы типа: минимальный html шаблон, основы css итд. Вполне достаточно статеек/мануалов с различных тематических сайтов. Сначала пробуете писать простенькие одностраничники, безо всякой серверной части. Потом попробуйте поиграться со стилями, js/jquery фишками. Это Front-end.
    Касательно Back-end'a: сначала рисовал простые скрипты на php (хотя и я бы на вашем месте сразу полез в python) по типу динамического вывода той или иной информации. Потом научился соединять с БД (PostgreSql, MySql, SqLite итд, погуглите разные варианты, каждому своё). Дальше пробовал что-то типа написания мини-блога.
    Когда приучитесь творить подобные мини-проекты, посмотрите в сторону фреймворков.
    Для фронтенда это Bootstrap, Semantic-UI (как наиболее адекватные с моей точки зрения).
    Для бэкэнда (в зависимости от языка, на котором пишете): для PHP - Laravel, для Python - Django.
    В любом случае, основные советы следующие:
    1) Как можно больше практики. Теория в этом деле ничего не стоит, опыт - ваше всё.
    2) Сразу учитесь "этике" программирования: соблюдайте табуляцию, давайте переменным/классам нормальные названия итд.
    3) stackoverflow - ваше всё (вы ещё попомните эти слова).
    4) Хорошие работы (на поздних этапах) сохраняйте для будущего портфолио (будет, что показать).
    Ответ написан
  • Как при отсутствии наведения скрывать блок?

    @Ariurn
    $('.basket-a').hover(
    function(){
    	$('.modal-basket').show();
    },
    function(){
    	$('.modal-basket').hide();
    }
    )
    Ответ написан
    7 комментариев
  • Как сделать пробел после тысячных цифр?

    @Ariurn
    Решение со стака.
    Ответ написан
    Комментировать
  • Есть ли сайт или сервис с базой данных зарубежных предпринимателей?

    @Ariurn
    Статья с Forbes со списком фриланс сайтов.
    Ответ написан
    Комментировать
  • Что это за админка, какая CMS?

    @Ariurn
    Попробуйте эти сервисы (первые строчки в запросе в гугл):
    https://2ip.ru/cms/
    https://itrack.ru/whatcms/
    Если не поможет, значит с высокой вероятностью самопис.
    Ответ написан
  • Как отправлять лс в вк с помощью бота?

    @Ariurn
    Нет, не можете.
    Согласно документации API:

    Для создания бота Вам потребуются:
    • Сообщество, от имени которого Ваш бот будет общаться с пользователями ВКонтакте.
    • Сервер, который будет принимать уведомления о событиях.
    • Логика самого бота — скрипт, который определяет, как бот реагирует на то или иное событие.

    То есть, отправление сообщений ботом идёт от лица сообщества. Цитата отсюда:

    Переписка с сообществом может быть инициирована только самим пользователем. Написать от имени группы людям, которые не переписывались с ним, не получится. Однако, когда переписка инициирована, сообщество сможет отправлять сообщения без ограничений по времени или количеству. Это будет продолжаться до тех пор, пока пользователь не запретит сообществу себе писать.
    Пользователь может инициировать переписку:
    • отправив сообществу сообщение со страницы сообщества;
    • с помощью кнопки «Разрешить сообщения» на странице сообщества;
    • отправив сообществу сообщение с помощью виджета «Сообщения сообщества», размещённого на сайте сообщества;
    • разрешив отправлять ему личные сообщения с помощью виджета «Разрешить писать сообществу» или метода API VK в стороннем приложении (отправлять сообщение для этого не требуется).
    Ответ написан
    2 комментария