среда, 19 июня 2013 г.

Отображение логина, имени и фамилии пользователя в шаблоне Django

Следующий простой код можно поместить в шапку базового шаблона:

{% if user.is_authenticated %}
<p>Вы вошли как {{ user.username }} [{{ user.first_name }} {{ user.last_name }}]. <a href="{% url "auth_logout" %}">Выход</a></p>
{% else %}<p>Вы не вошли в систему. <a href="{% url "auth_login" %}">Войти</a></p>
{% endif %}

Соответственно, user.username — логин, user.first_name — имя, user.last_name — фамилия пользователя.

Подтверждение перехода по ссылке

Если нужно вызвать всплывающее окно с подтверждением перехода по ссылке, то необходимо написать код, подобный следующему:

<a href='http://it-tasks.blogspot.ru/' onclick='return confirm("Вы уверены, что хотите перейти по ссылке?")'>Текст ссылки.</a>

Собственно столкнулся с необходимостью подтверждения, когда сделал гиперссылку, которая вызывала представление в Django, которое в свою очередь удаляло запись в базе данных.

среда, 12 июня 2013 г.

Механизм сравнения файлов в Debian

Иногда бывает очень полезно сравнить 2 файла и увидеть, чем они отличаются. Для этого нужно установить механизм сравнения. Их много, я выбрал kompare. Установка простая:

# aptitude install kompare

Затем в файловом менеджере (к примеру, в Krusader) необходимо выделить 2 файла и выбрать пункт меню: Файл -> Сравнить файлы.

Ошибка NoReverseMatch в Django 1.5

При переходе с Django 1.4 на Django 1.5 обнаружил появление следующих ошибок:

'url' requires a non-empty first argument. The syntax changed in Django 1.5, see the docs.

Лечится ошибка заменой конструкции вида:

{% url url_name %}

на:

{% url "url_name" %}

Т. е. просто название url надо окружить кавычками.

вторник, 11 июня 2013 г.

Django South и ошибка "Table already exists"

Если при выполнении операции:

python manage.py migrate app_name

появляется следующая ошибка:

DatabaseError: (1050, "Table 'table_name' already exists"), то необходимо произвести фейковую миграцию:

python ./manage.py migrate app_name --fake

понедельник, 10 июня 2013 г.

Ошибка при открытии файла под рутом в редакторе под иксами

Установил базовый дистрибутив Debian 7, установил mysql-server, после чего решил отредактировать файл my.cnf, чтобы не было проблем с кодировками. Но при вводе команды:

# gedit /etc/mysql/my.cnf

появляются следующие ворнинги:

(gedit:3684): EggSMClient-WARNING **: Failed to connect to the session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed

** (gedit:3684): WARNING **: Could not connect to session bus

Поискав в гугле, так ничего и не нашел. Спросил в IRC-канале #debian-russian. Там ребята посоветовали использовать вместо gedit какой нибудь консольный редактор типа vim, mcedit либо nano.

Объяснили, что это происходит из-за того, что работая под иксами, приложение должно авторизоваться в иксах. Хотя в Debian 6 подобного не было.

пятница, 7 июня 2013 г.

Как выключить компьютер в Linux из терминала?

Команда для выключения вполне логичная:

shutdown -h now

Установка LibreOffice в Debian 7

Вообще сначала поставил OpenOffice, потом про него почитал, и стало понятно, что идеалогически более правильно поставить LibreOffice.

Установка следующая:

# aptitude install libreoffice

Также можно поставить русскую справку (вместе с которой поставится и русский язык интерфейса):

# aptitude install libreoffice-help-ru

четверг, 6 июня 2013 г.

Установка Dropbox в Debian 7

Для установки Dropbox в Debian x64 необходимо выполнить команду:

$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -

Затем надо запустить демон Dropbox:

~/.dropbox-dist/dropboxd

Чтобы Dropbox автоматически запускался при старте системы необходимо запустить планировщик задач Cron:

crontab -e

и добавить строку:

@reboot ~/.dropbox-dist/dropboxd
Важно! Операции выше делаем от обычного пользователя, под которым вы работаете.

четверг, 23 мая 2013 г.

Запуск установки и удаления программ из командной строки

Когда необходимо удалить программу из-под учётной записи пользователя, необходимо вызвать утилиту «Установка и удаление программ», выполнив команду:

appwiz.cpl

от имени Администратора.

вторник, 21 мая 2013 г.

Вывод календаря в терминале Linux

В полку известных мне команд линукса прибыло! Команда cal выводит в терминале красивый календарь. По умолчанию на текущий месяц.

Можно вывести любой месяц любого года, указав их в параметрах. К примеру команда:

$ cal 04 1982

показывает календарь апреля 1982 года. Также можно вывести календарь за целый год (указав год в качестве параметра).

Удаляем файл hiberfil.sys в Windows 7

Бывает, что место на диске C:\ закончилось внезапно, и где его взять не понятно. Вроде бы и темп почищен, да всё равно не хватает... Есть ещё один способ увеличить свободное место — отключить спящий режим и удалить файл hiberfil.sys. Для этого необходимо выполнить следующее:

Панель управления -> Электропитание -> Настройка перехода в спящий режим -> Переводить компьютер в спящий режим -> Никогда -> OK. Потом нужно создать батник с кодом: powercfg -h off и запустить его от имени Администратора.

Чистка HTML от всякой гадости

Часто бывает необходимо получить «чистый» HTML-код из документа Word или Excel. Проблема в том, что сохраняя документ как web-страницу в коде мы находим много мусора: ненужные стили и прочую хрень. До недавнего времени я чистил такие файлы с помощью старенькой программы HomeSite, потом перешел на использование регулярных выражений в программе Notepad++. Давно думал написать какую-нибудь свою программу по чистке, да всё руки не доходили.

Но вот сегодня наткнулся на сайт: http://www.weare.ru/cgi-bin/clearhtml.cgi

Проверил, и приятно удивился — из загаженного документа на выходе появился чистенький HTML-код.

воскресенье, 19 мая 2013 г.

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

Просмотрев большинство программ для составления карт памяти (mind map) обнаружил, что программы с хорошим функционалом являются платными. И стоят они не дешево. В бесплатных же версиях нельзя добавлять изображения к узлам. Что конечно же сразу уменьшает полезность программы. Но вот я наткнулся на программу Freemind. Свободная программа, в которой есть все, что мне нужно. Установка в debian предельно проста:

# aptitude install freemind

среда, 15 мая 2013 г.

Блокируем рекламу в Debian

Бывает реклама на сайтах ну очень раздражает... Но есть простой выход: можно установить дополнение для web-браузера xul-ext-adblock-plus. Простейшая установка:

# aptitude install xul-ext-adblock-plus

После установки необходимо перезапустить браузер. При первом запуске нужно подписаться на список фильтров. Во время просмотра web-страниц можно добавлять рекламные фреймы в фильтр, щелкнув по ним правой кнопкой мыши и выбрав соответствующий пункт.