• Как реализовать простую авторизацию для Python?

    @maxfox
    Во Flask все просто: flask.pocoo.org/docs/quickstart/#sessions
    Не ясно, чем вы пользуетесь (фреймфорки, библиотеки).

    Как уже сказали, можно сделать Basic acceess authentication на веб-сервере, смотрите доку по своему веб-серверу.
    Ответ написан
    Комментировать
  • Как организовать систему like’ов?

    @maxfox
    По существу обновленного вопроса:
    Если вы делаете это в шаблонизаторе, то в цикле, выводя посты, обращайтесь к списку с лайками данного юзера и проверяйте. Условным оператором выставляйте нужный класс элементу.
    Если вы работаете через AJAX, то получайте JSON, проходите по нему циклом и расставляйте нужные классы элементам JS'ом.

    ЗЫ Рекомендую AJAX, по крайней мере в будущем. Это позволит закешировать страницы и не пересчитывать их при каждом запросе.

    ЗЗЫ Не знаю, что у вас там в БД, но очень надеюсь, что вы храните суммарное значение лайков/дизлайков в таблице с ответами, а не считаете его каждый раз заново..
    Ответ написан
    3 комментария
  • Как организовать систему like’ов?

    @maxfox
    А о чем вопрос? О модели данных, клиент-серверном взаимодействии или выводе на странице? Поле like/dislike по умолчанию 0. Меняем на 1 или -1 при действии.
    Соответственно, если 0 - то один цвет, если не 0 - то другой.
    Будете вы это делать AJAX'ом или в шаблоне - дело ваше.
    Ответ написан
    1 комментарий
  • Как найти адрес в неформатированом тексте?

    @maxfox
    В общем случае задача очень масштабная. Вам нужно определиться, на какие допущения вы можете пойти: что-то пропустить, найти лишее и т.д.
    Даже человеку сложно найти адрес во фразе типа "вчера был на цветочной".
    Другое дело, если есть за что зацепиться: название улицы пишется с заглавной буквы, есть обозначения типа "ул." или "улица", в адресе обязательно есть номер дома и т.д.
    Если такие критерии подходят, то:
    1. Ищите цифры.
    2. Ищите вхождения "ул", "улица", "пр", "проспект", "площадь".
    3. Ищите слова, начинающиеся с заглавной буквы в середине предложения.
    Затем выбирайте лексемы возле этих позиций и прогоняйте через Яндекс/2gis/ФИАС. Как фильтровать и обрабатывать результаты - зависит от самих результатов. Не стоит пытаться написать универсальный парсер, надо ориентироваться на особенности материала, с которым вы работаете.

    Я недавно решал похожую, но чуть более простую задачу. Была база в Excel, где в одной из колонок записывались адреса клиентов. Но записывались в очень свободной форме, т.е. был мусор типа "красный кирпичный дом", "въезд под шлагбаум", "позвонить Васе, как будем на месте" и т.д. Мусор удалось отфильровать, хотя примерно в 2-3 из 100 записей приходилось работать руками (но это потому что адреса вообще могло не быть, а было "завод Заря" или "кафе у Петровича").

    В общем, удачи.
    Ответ написан
    Комментировать
  • Как изменить приоритеты отображения каталога?

    @maxfox
    Ну, для начала, в урле нужен параметр type=grid:
    http://avilontrade.ru/catalog/?type=grid&PRICE_FRO...

    Поэтому рекомендую изменить поведение на стороне сервера (запрос без параметра type должен возвращать сетку, а не список). Как это сделать - вам там виднее.

    Ковырять код страницы не надо - только еще больше наговнокодите. Сервер отдает разный html для сетки и списка, если переключаться на сетку - то погружает ajax'ом html. Поэтому смотрите на строне сервера.
    Ответ написан
  • Изучаю python для последующего освоения django. Где искать скринкасты?

    @maxfox
    Возьмите эту книгу www.ozon.ru/context/detail/id/4625026
    Там излагается необходимый минимум по языку.

    Каждый по-своему воспринимает материал, по своему опыту скажу, что чтение книг и просмотр скринкастов ничего не дает, пока не начнешь что-то делать. Я думаю, так у большинства людей.

    Начните делать любой самый простой проект, например блог. Напишите себе ТЗ, опишите необходимый функционал и приступайте. Начните с верстки одной страницы в статике, чтобы потом к этому не возвращаться, а потом следуйте по любому туториалу, например с djangobook. Вся необходимая инфа есть в документации и книгах, нюансы - на stackoverflow и просто в гугле. В общем, начинайте писать код и все получится.

    PS Практика есть в другой книге Лутца: www.ozon.ru/context/detail/id/8382738
    Но она довольно основательная и весьма занудная. Там есть сетевое взаимодействие, GUI и т.д. Но вот веб-разработки нету.
    Ответ написан
    Комментировать
  • Как реализовать выборку из таблиц mysql, связанных как один ко многим?

    @maxfox
    Не совсем понял, что вы хотите сделать, но это точно надо делать в один запрос.
    "Перенося часть вычислений в код Python" вы только тормозите процесс. Быстрее всего выборка производится на стороне СУБД - она написана на C и максимально оптимизирована. Поэтому, чтобы вы там не делали, старайтесь уложить это в один запрос.

    Опишите, какой результат вы хотите получить, тогда будет проще подсказать.
    Ответ написан
  • Проблема с разработкой горизонтального выпадающего меню

    @maxfox
    Вы же через js показываете меню? Почему бы не написать в той же функции расчет ширины выпадающего элемента и устанавливать в ней width?
    Могу ошибаться, но мне кажется это будет не сильно медленней (если не быстрее) чем :last-child. Тем более, что js все равно используется.
    Ответ написан
  • Колоночная адаптивная вёрстка?

    @maxfox
    А почему вам нужны именно column? Я так понял, это отдельные блоки, каждый со своим контентом?.
    Чем вас не устраивают inline-block'и?

    CSS Column пока не везде работает. Лучше обычная блочная верстка, а если нужно растягивать контент на несколько блоков - то js.
    Ответ написан
    Комментировать
  • Стоит ли первым языком (после школьного Pascal) выбирать node.js?

    @maxfox
    Ох, вы бы еще на автомобильном форуме спросили, какую машину лучше выбрать.. :)

    В свою очередь поддержу Python и Django. Вообще для начинающего веб-разработчика важнее понять HTTP и базы данных, не упирайтесь в ЯП, попробуйте несколько и выберите тот, который больше понравится.
    Ответ написан
    Комментировать