• Django: CBV или функции?

    @evikbook
    DevOps
    Лучше CBV, на них меньше копипаста получается (а в идеале 0), больше продуктивность и КПД от каждой строчки кода. Единственное выделите день на то, чтобы мозги свои переконфигурировать под них (сделайте мини проект)
    Ответ написан
    Комментировать
  • Не получается поднять проект на Heroku?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Ошибка "ModuleNotFoundError: No module named 'dj-project'" говорит о том, что в том же каталоге, где лежит Procfile, нет файла dj-project.wsgi, прописанного в этот Procfile. Есть подозрение, что в Procfile должно быть: web: gunicorn catapp.wsgi
    Ответ написан
    3 комментария
  • Как использовать методы типа GET в языке Python?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Вы, похоже, путаете одни "методы" с другими "методами".

    Во-первых, не бывает никаких "методов типа GET".
    Это называется "запросы методом GET", что означает "запросы типа GET". В терминологии HTTP, слово "метод" означает "тип запроса".

    А методы API (каким, по-видимому, является getRules) - это адрес (URL), к которому нужно делать HTTP-запрос методом GET или методом POST.
    Адрес должен быть полным. В документации могут опускаться полные адреса для запросов, вместо них там так называемые "методы API".
    Но по-любому нужно раздобыть полный URL. Он должен быть в документации где-то (его первая часть общая дя всех "методов API"). Также его можно найти методом гуглинга.

    С Телеграмом не работал, но приведу пример для API ВКонтакте.

    Вот документация со списком "методов API":
    vk.com/dev/methods

    Вот описание в ней "метода" под названием "users.get":
    vk.com/dev/users.get

    А вот какой полный URL у нас получается в итоге:
    http://api.vk.com/method/users.get?user_ids=58756174


    Вот эта вот часть - "api.vk.com/method" - она общая для всех "методов API" в случае с VK API.
    Разумеется, для какого-то другого API она будет другая совсем. Ее нужно найти - в документации либо в гугле. Это возможно, если гуглить примеры кода с этим API.

    Этот полный URL мы можем открыть в браузере (т.к. API поддерживает GET-запросы), и увидим, что все работает. Также мы может отправить по нему GET-запрос программно, получится типа такого:
    requests.get("http://api.vk.com/method/users.get?user_ids=58756174", ...)


    Еще рекомендую скачать и поставить сниффер Fiddler, это практически незаменимое средство для тех, кто пишет боты.
    Он позволяет перехватывать все GET/POST-запросы с вашего компа, его можно использовать для отладки и для реверс-инжиниринга.
    Ответ написан
    3 комментария
  • Хочу создать биржу фриланса, с чего начать?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Начинают обычно не с "мы можем разработать", но с "мы можем продать". Если цель тупо выкинуть деньги, то лучше перешлите их мне. Если цель денег заработать, то начинают не с того, как сделать, а с "где найти профессионалов?", "где найти заказчиков?", "почему они пойдут именно ко мне, а не в другие биржи?", "как я их у себя удержу?"
    И тут уже на первой стадии будут проблемы. Человек следует своим привычкам и профи должен быть сильно заинтересован, чтобы уйти оттуда, где он привык зарабатывать.
    Ответ написан
    Комментировать
  • Как найти самые используемые слова в книге посредством питона?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    import string
    from collections import Counter
    
    punctuation_map = dict((ord(char), None) for char in string.punctuation)
    prepositions = ['в', 'без', 'до', 'из', 'к', 'на', 'по', 'о', 'от', 'перед', 'при', 'через', 'с', 'у', 'за', 'над', 'об', 'под', 'про', 'для']
    
    text = open('WarAndPeace_rus.txt').read()
    clean_data = text.translate(punctuation_map) #Убираем знаки пунктуации
    words = Counter([word.strip().lower() for word in clean_data.split() if word not in prepositions]) #Приводим все слова к нижнему регистру и убираем предлоги
    
    with open('words.txt', 'w') as fh:
        fh.write('\n'.join([w[0] for w in words.most_common(1000)]))
    Ответ написан
    2 комментария