Закрыть

Для эффективной работы на сайте используются cookie и обработка персональных данных. Пользуясь этим сайтом, вы соглашаетесь с правилами использования сайта. Подробнее

Цитата дня

Vivazzi.ru

Личный сайт Мальцева Артема

Воображение — это самое главное, оно является отражением того, что мы притягиваем в свою жизнь.

Альберт Эйнштейн

IT Блог

Статьи на технические темы

Failed to establish a new connection: [Errno 111] Connection refused

Достаточно непросто сразу понять почему возникла ошибка Failed to establish a new connection: [Errno 111] Connection refused. В моём случае просто не хватило памяти для построения индекса. Соответственно, можно оптимизировать потребление памяти или увеличить ресурсы сервера.

Также может быть просто не запущен сервер elasticsearch. В этом случае можно воспользоваться командой service elasticsearch start.

Можно попробовать рестартнуть elasticsearch: service elasticsearch restart.

Также убедитесь, что вы добавили elasticsearch на автозагрузку (как это сделать на странице: )

Если не помогло, то уже можно смотреть конфиг /etc/elasticsearch/elasticsearch.yml. Опции не буду приводить: их много - можно почитать на официальном сайте:


django.core.urlresolvers.NoReverseMatch: Reverse for 'pages-details-by-slug'

Ошибка django.core.urlresolvers.NoReverseMatch: Reverse for 'pages-details-by-slug' может возникнуть при выполнении метода get_absolute_url() экземпляра класса Page из management команды. Дело в том, что когда вызывается management команда, page ничего не знает об используемом языке (language) и валится в следующем куске кода:

def get_absolute_url(self, language=None, fallback=True):
    if not language:
        language = get_language()  # автоматически не удаётся определить language
    with i18n.force_language(language):
        if self.is_home:
            return reverse('pages-root')
        path = self.get_path(language, fallback) or self.get_slug(language, fallback)
        return reverse('pages-details-by-slug', kwargs={"slug": path})  # и происходит ошибка, так как path не определился

Пример того, как можно установить язык:

# -*- coding...

Не работает {% page_url %} в django cms

Когда перестаёт работать какой-нибудь django-cms тег (например {% page_url %}), проверьте передали ли вы context при рендере шаблона. Эту ошибку я описывал в статье . В ней эта ошибка более подробно расписана, и, чтобы не повторяться, я просто приведу пример правильного использования context для того, чтобы заработал рендер шаблона:

@register.inclusion_tag('quote.html', takes_context=True)
def get_quote(context):
    context['quote'] = Quote.objects.last()
    return context

И сам шаблончик quote.html:

{% load cms_tags %}

<blockquote>
    <p>{{ quote.text|linebreaksbr }}</p>

    {% page_url 'quote-authors' as quote_authors_url %}
    {% if quote_authors_url %}<a href="{{ quote_authors_url }}" class="author">{{ quote.author }}</a>
    {% else %}<p class="author">{{ quote.author }}<...

You must enable the 'sekizai.context_processors.sekizai'

Бывает странно видеть ошибку:

 TemplateSyntaxError: You must enable the 'sekizai.context_processors.sekizai' template context processor or use 'sekizai.context.SekizaiContext' to render your templates.

, хотя и подключен context_processors:

TEMPLATES = [
    {
        'OPTIONS': {
            'context_processors': [
                ...
                'sekizai.context_processors.sekizai',
            ]
        },
    },
]

Такое может происходить, когда вы пытаетесь срендерить шаблон, в котором используются sekizai-теги, но не передали context, например, при использовании inclusion_tag. На этом этапе странность и пропадает - ведь действительно, sekizai нужен context.

Как вариант, можно использовать следующий пример включающего тега:

@register.inclusion_tag('quote.html', takes_context=True)
def get_quote(context):
    context['quote'] = Quote.objects.last()
    return context

takes_context=True - передаёт context в наш inclusion_tag, что позволяет нам расширить...


AppRegistryNotReady: Apps aren't loaded yet

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

django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.

1. Причина в django-reversion

Если в проекте используется django-reversion, то версия пакета должна быть django-reversion>=1.10.0


Error fetching command 'graph_transitions': No module named graphviz

Попробуем исправить ошибку Error fetching command 'graph_transitions': No module named graphviz. Для запуска пакета graphviz нам нужен setuptools:

pip install setuptools

Теперь попробуйте снова поставить пакет pygraphviz командой pip install pygraphviz. Если появляется новая ошибка вроде этой:

    running install
    Trying pkg-config
    Package libcgraph was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libcgraph.pc' to the PKG_CONFIG_PATH environment variable
    No package 'libcgraph' found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-ojXrMb/pygraphviz/setup.py", line 87, in <module>
        tests_require=['nose>=0.10.1', 'doctest-ignore-unicode>=0.1.0',],
        ....
    subprocess...

Подключение wi-fi адаптера WN727N на Linux. Установка драйвера Ralink MT7601

Вот и закончилась моя борьба по подключению wi-fi адаптера WN727N на Linux. Итог - победа :)

Что я только не пробовал, чтобы установить драйвер Ralink MT7601, который нужен для работоспособности wi-fi адаптера WN727N - у меня так и не получилось. Видимо, не хватает знаний в установке драйверов в текущее ядро Linux (может имеется какая-то специфика установки драйвера).

В итоге прочитал, что wi-fi адаптер стабильно работает на Linux с версией ядра 4.2 и выше, так как содержит драйвер Ralink MT7601 в своём составе. Поэтому, если вы не особо разбираетесь в том, как обновить ядро Линукса до нужной версии или как запустить этот драйвер...


Пример manage.py. Решение ошибки "check for SOUTH_DATABASE_ADAPTER[S] settings"

Известно, что начиная с Django 1.7 нет необходимости подключать South, так как в Django 1.7 добавили встроенную систему миграций. Но иногда при установке зависимостей какие-то зависимости всё ещё тянут за собой приложение South. И когда пытаешься запустить своё приложение, то debug ругается:

There is no South database module 'south.db.postgresql_psycopg2' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS.

Отсюда видно, что South предлагает добавить параметр SOUTH_DATABASE_ADAPTERS, например так:

SOUTH_DATABASE_ADAPTERS = {
    'default': "south.db.postgresql_psycopg2"
}

Но к сожалению, это у меня данный параметр почему-то не работает. Тогда я...


Книга "Разверни сайт на Django"

Несколько лет назад я описывал, как развернуть сайт на Django, а теперь решил написать книгу "Разверни сайт на Django".

Автор книги "Разверни сайт на Django" Мальцев Артём ().

Вам нужно саморазвиваться или вы хотите зарабатывать деньги?

Или вы ищите хорошие IT сервисы или книги? Сохраните свое время и взгляните на мою подборку рекомендаций, которыми постоянно пользуюсь.
Посмотреть рекомендации

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте