• COOKIES: Что лучше кидать в value?

    Пароль в куках хранить не безопасно: они хранятся и передаются в открытом виде, их легко подделать или украсть.
    Обычно в куки кладём кладём какую-нибудь уникальную для каждого посетителя, но случайную чушь, идентификатор. Например, строку вида "9ebca8bd62c830d3e79272b4f585ff8f". А где-то на сервере храним (и при запросе проверяем) соответствие этой строки и конкретного пользователя.
    А вообще для решения этого вопроса лучше прочитать и изучить информацию про сессии. Они работают примерно как я описал выше, но код выходит проще и понятнее.
    Ответ написан
  • Как объединить два похожих проекта в один?

    Я не работал с Flask и не знаю деталей реализации конкретно ваших приложений, так что в моем ответе скорее общие размышления по теме, чем конкретные рекомендации.
    Есть замечательный принцип DRY (Don’t repeat yourself).
    В соответствии с ним я бы выделил общие или минимально различающиеся части ваших проектов в одно отдельное приложение, например base_crm и подключал бы его в каждом из проектов.
    А уже в самих проектах дописывал, наследовал и переопределял только специфичные для конкретного проекта части.

    Конечно при сильном изменении логики в base_crm придется менять и код проектов где она используется, но при этом не понадобится дублировать код. А при необходимости дублирования стоит подумать, нет ли смысла вынести такой код в базовую часть.
    Ответ написан
    Комментировать
  • Как получить содержимое тега ??

    value как раз содержит то, что было введено в input (или значение по умолчанию, если ничего не было введено).
    Раз уж всё равно используется jQuery, можно для получения значения использовать его:
    <input type="text" id="usname" value="default username" />
    <script>
    $(".b-mail-footer__btn").click(function() {	
      var username=$("#usname").val();
      alert(username);
    });
    </script>
    Ответ написан
    3 комментария
  • В django перестали работать все урлы после установки allauth, теперь все урлы только из allauth, как исправить?

    Сравниваю ваш роутер с почти-таким-же на своём проекте (где тоже allauth и всё ок).
    Мысли вслух, проверять лень.

    0) Какие провайдеры для allauth используются? Есть ли среди них не входящие в стандартную поставку?
    allauth.urls импортирует .urls из каждого подключенного провайдера, возможно какой-то из них написан с ошибкой.

    1) Для работы кириллицы возможно следует указать кодировку если используется python 2.x
    Ну, типа
    # -*- coding: utf-8 -*-
    в начале файла. Это что касается r'^блог/'

    2) Какая у вас версия Django?
    Вы случаем не перемудрили со статикой? По умолчанию при DEBUG=True в актуальных версиях Django статика обрабатывается для runserver автоматически и заносить её в urls не нужно. А при DEBUG=False её должен обрабатывать веб-сервер, а не Django-приложение.

    Если у вас какой-то переопределнный runserver, который НЕ поддерживает статику, то действительно для неё нужен отдельный роут.
    Но в этом случае строка
    urlpatterns += staticfiles_urlpatterns()
    аналогична строке
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    и нужно оставить какую-то одну (скорее всего первую).

    3) проверьте чтобы все используемые в роутере приложения присутствовали в settings.INSTALLED_APPS
    Ответ написан
    Комментировать
  • Какой язык учить: Objective C или Swift для разработки под iOS и OS X?

    Swift работает начиная с iOS 7 и OS X 10.9.
    Если нет цели разрабатывать программы, работающие на более старых системах, то можно сразу начинать со Swift.
    Если совместимость со старьем важна, то ObjC.
    Ответ написан
    2 комментария
  • Как получить ssh к компьютеру за двумя роутерами?

    У смотрящего в интернет роутера постоянный ipv4 и есть доступ к роутерам?
    Пробрасывать порт 22 на каждом роутере.

    У смотрящего в интернет роутера динамический ipv4 и есть доступ к роутерам?
    Пробрасывать порт 22 на каждом роутере, подключиться к какому-либо сервису Dynamic DNS, чтобы знать снаружи актуальный адрес.

    Нет доступа к роутерам или интернет идет через NAT (т.е. у смотрящего в интернет роутера внутренний IP провайдера)?
    Поможет туннель с компьютера во внешний интернет.
    Для этого компьютер может подключаться куда-нибудь по VPN и получать на выходе постоянный IP.
    Или можно настроить на компьютере ipv6 туннель, тогда SSH будет доступен снаружи по ipv6 адресу (это наверное проще всего сделать, но для подключения к компьютеру у клиентов должен корректно работать ipv6).
    Ответ написан
    Комментировать
  • Как лучше реализовать механизм "веса" значений в таблице БД?

    Для вывода pk=5 и потом 1, 2 попробуйте сделать запрос вида:
    SELECT * FROM `table` ORDER BY (`pk` = 5 ) DESC, `pk`;

    Вы не указали какая БД используется, в разных системах синтаксис запроса может немного отличаться, но как правило БД позволяют подобные вычисления в выражении сортировки.
    Ответ написан
    3 комментария
  • Как правильно использовать REST, когда надо передать много данных в GET?

    Недавно на хабре было интересное обсуждение про REST и в комментариях мне понравился один вариант.
    Применительно к вашему случаю получится примерно так:

    Запрос:
    POST /TemplateVariant
    {
    [много параметров]
    }

    Ответ:
    201 Created
    Location: /TemplateVariant/58f523a2-79c1-475e-98ac-2e6dfa43abcc

    Запрос №2:
    GET /TemplateVariant/58f523a2-79c1-475e-98ac-2e6dfa43abcc

    Ответ №2:
    200 OK
    {
    [готовый шаблон]
    }
    Ответ написан
  • Как изменять переменную на странце без перезагрузки?

    Самое простое - запрашивать обновление с сервера яваскриптом через аякс с какой-либо периодичностью (да хоть раз в секунду).
    Если обновления обязательно нужно получать по мере их появления, можно использовать SSE или WebSockets, но тут уже всё немного сложнее.
    Есть презентация на английском, в которой как раз описаны все способы и даны примеры серверного кода для Flask.
    Ответ написан
    1 комментарий
  • Могут ли возникнуть проблемы при копировании дизайна сайта?

    У любого дизайна есть автор. Другой вопрос в том, что разрешил автор со своей работой делать дальше.

    Бесплатные (да и платные тоже) шаблоны как правило идут с лицензией, где описано, каким образом и на каких условиях можно этот шаблон использовать.
    У сайтов с уникальным дизайном никаких таких лицензий нет (а значит по умолчанию без разрешения использовать его нельзя).

    Юридические проблемы возможны с того самого момента как правообладатель подаст заявление в суд. Если он конечно будет этим заниматься.

    Гневные письма в этом случае пойдут не как моральный аспект, а как попытка досудебного урегулирования (но судиться можно и без писем).

    После этого всё зависит от предоставленных истцом материалов и судьи. Шансы, что придется убирать дизайн и выплачивать компенсацию - вполне реальные.

    P.S. Тематика в данном случае ни на что не влияет.
    Ответ написан
    5 комментариев
  • Как использовать win32com.client из треда?

    Не могу сейчас проверить, но по идее так должно работать:

    #!/usr/bin/python2
    # -*- coding: cp1251 -*-
    
    import pythoncom
    from thread import *
    from win32com.client import constants
    import win32com.client
    
    def thread():
        sapi = win32com.client.Dispatch("SAPI.SpVoice")
        phrase = "Привет, мир!"
        pythoncom.CoInitialize()
        sapi.Speak(phrase, constants.SVSFlagsAsync)
        pythoncom.CoUninitialize()
    
    start_new_thread(thread, ())

    Или как-то в этом духе.
    pythoncom живет в пакете pywin32
    Ответ написан
    1 комментарий
  • Как сделать одну кнопку "Удалить" для разных значений таблицы с помощью PHP?

    1) Либо делать отдельную форму на каждую кнопку (как предложили выше)
    2) Либо
    <button type="submit" name="edit" value="123">
    	Редактировать
    </button>
    <button type="submit" name="delete" value="123">
    	Удалить
    </button>

    И на сервере проверять, есть ли в запросе edit или delete, и если есть, то какое у них значение.
    Ответ написан
    Комментировать
  • Как добавить элемент во вложенный список?

    x = [['a','b','c',[12,2,0,2]]]
    x[0][3].append('magic')
    print x
    Ответ написан
    Комментировать
  • Как подключиться к FTP серверу через прокси-сервер в Python?

    urllib2 умеет работать с FTP. И с прокси.
    Нет времени проверять, но примерно как-то так:

    urllib2.install_opener(
        urllib2.build_opener(
            urllib2.ProxyHandler({'ftp': '127.0.0.1:21'})
        )
    )
    urllib2.urlopen('ftp://ftp.gnu.org')
    Ответ написан
    Комментировать
  • Какая CMS лучше всего подойдет для интеграции с 1С?

    Предполагаю, что в рамках этого вопроса под интеграцией понимается обмен товарами и заказами)
    Добавлю к перечисленному выше - Simpla CMS, проблем с обменами (пока что) не встречал.
    Ответ написан
    Комментировать