- В директории вашего проекта создаем файл представление (например views.py).
- В файле представления пишем:
# -*- coding: utf-8 -*-
from django.http import HttpResponse
def hello(request):
return HttpResponse("Здравствуй, Мир") - Связываем функцию с URL, для этого в файле urls.py после строки
from django.conf.urls.defaults import *
добавляем импорт нашей функции из файла представленияfrom mysite.views import hello
а после строкиurlpatterns = patterns('',
добавляем привязку функции к регулярному выражению('^hello/$', hello),
- Стартуем сервер python manage.py runserver
- Смотрим вывод функции hello на http://127.0.0.1:8000/hello/
четверг, 11 марта 2010 г.
Hello, world! на Django
четверг, 25 февраля 2010 г.
Полезные модули для Drupal. Часть 1
Этим топиком, я начинаю цикл статей, о разнообразных полезных модулях для CMS Drupal.
- Модуль Apply for role позволяет пользователям отправлять запросы из своего аккаунта администраторам, для включения их в определённую роль.
- Модуль Archive позволяет просматривать документы по дате создания, а также фильтровать их по типам. Этот модуль заменяет стандартный модуль Archive, который включался в Drupal 4.7.x и более ранние версии системы. Необходимый и очень правильный модуль, построенный на технологии AJAX. Наверняка у вас такое бывало: напечатали много текста, обдумали его и вдруг нажали не на ту кнопку, браузер закрылся или сообщение стёрлось или вообще перезагрузился компьютер. Теперь вам нужно вспоминать свои собственные мысли и не факт, что это вам удастся, во всяком случае, многие интересные мысли и выражения будут утеряны.
- Модуль Autosave избавляет нас от этого недоразумения. Он создаёт ревизии для редактируемого документа через определённое количество миллисекунд (опция настраивается). Плюсы очевидны: вы больше никогда не потеряете свою информацию, фактически, вы можете создавать новые статьи прямо в браузере, нет нужды делать это в каком-либо текстовом редакторе, ну и наконец, вы освобождены от страхов. Немало для такого простого модуля, не так ли? Модуль работает только в версии 5.0 и выше, использует jQuery Form Plugin и настраивается элементарно. Нужно просто на странице ваших типов контента перейти на вкладку "Autosave" и отметить необходимые опции. Да и уверяю вас 10000 миллисекунд - этого достаточно, меньше указывать совершенно не нужно, можно больше...
На сладкое: Модуль Backup and Migrate выполняет задачи по созданию и восстановлению базы данных сайта, а также может использоваться для переноса данных с одного сайта на другой. Модуль поддерживает сжатие gzip, bzip и zip и автоматическое выполнение заданий по расписанию. При создании и восстановлении архива базы можно выбирать таблицы, сохранять файл в папке или скачивать с сервера. По умолчанию таблицы с кешем в архив не включаются. Файлы архивов защищаются от общего доступа правилами в файле .htaccess.
Взято с http://setegnom.com/
Быстрый старт в Django
Проект в django может быть самостоятельным приложением, но в большой степени это просто структура директорий и настройки общие для всех приложений внутри. А приложение - это как раз код, который выполняется.
django-admin.py startproject newproj
Создать приложение можно с помощью команды: python manage.py startapp newapp
Перед запуском надо записать изменения в базу данных (если она используется): python manage.py syncdb
Также можно проверить на ошибки: python manage.py validate
Запустить проект: python manage.py runserver
Зайти по адресу: "http://127.0.0.1:8000/"
пятница, 27 ноября 2009 г.
Amarok не воспроизводит музыку
Столкнулся недавно с такой проблемой - amarok отказывается воспроизводить любую музыку, объясняя это наличием множества ошибок. Оказывается, проблема была в backend`е. Все решилось установкой и настройкой phonon-xine.
четверг, 26 ноября 2009 г.
Пробую blog-клиент Blogilo (бывший Bilbo)
Очень приятная вешь. Сразу подружился с моим google аккаунтом, подхватил оба блога. Довольно прост в настройке и, что на удивление, удобен в использовании. Есть визуальный редактор, редактор html, предпросмотр публикуемого поста (с возможностью просмотра в стиле вашего блога), возможность локального сохранения поста, с последующей публикацией. Возможность загрузки медиа-файлов. Мне понравилось, буду использовать.
вторник, 17 ноября 2009 г.
Если индеец молчит...
ini_set('display_errors', 'On');
пятница, 13 ноября 2009 г.
вторник, 10 ноября 2009 г.
Git. Шаг за шагом.
1. Заведите себе аккаунт на github`е. Я выбрал бесплатный, open source план.
2. Зайдите в свой акаунт и создайте новый репозитарий.
3. Скачайте и установите git.
4. Сконфигурируйте свой git.
git config --global user.name "ваше имя"
git config --global user.email ваша@почта
5. Создайте свой SSH-ключ. Для этого, в консоли, сгенерируйте ключ с помощью утилиты ssh-keygen. По умолчанию, Вы можете посмотреть его cat ~/.ssh/id_rsa.pub
6. Добавьте этот ключ в Ваш аккаунт на github`е.
7. Создайте локальный репозитарий
mkdir test
cd test
git init
8. Добавте туда свой проект. Например файл README
touch README
git add README
git commit -m 'Первый коммит'
git remote add origin git@github.com:ВашеИмя/ВашРепозитарий.git
git push origin master
9. Вуаля!
суббота, 24 октября 2009 г.
Настройка сети из консоли
# ifconfig eth0 down
# ifconfig eth0 <Ваш IP> netmask <Ваша маска> hw ether <Ваш MAC-адрес>
# route add default gw <Ваш шлюз>
# sudo echo "nameserver <Ваш DNS сервер>" >> /etc/resolv.conf
# ifconfig eth0 up
пятница, 4 сентября 2009 г.
Постраничный вывод информации из БД на php и sql
<?php
$rec_per_page = 3;
// Считаем сколько у нас будет страниц
$query = "SELECT * FROM $userstable";
$res = mysql_query($query) or die(mysql_error());
$number = mysql_num_rows($res);
$pages=round($number/$rec_per_page);
/* Как же я тут матерился... Список страниц.*/
if($current_page!=0) {
$temp = $current_page - 1;
echo '<a href="'.$module.'&page='.$temp.'">←</a> ' ;
}
else echo '← ';
for ($i=0;$i<=$pages;$i++) {
$temp = $i + 1;
if($i!=$current_page) {
echo ' <a href="'.$module.'&page='.$i.'">'.$temp.'</a> ';
}
else {
echo $temp;
}
}
if($current_page!=$pages) {
$temp = $current_page + 1;
echo ' <a href="'.$module.'&page='.$temp.'">→</a>';
}
else echo ' →';
/* Пошел вывод из базы */
/* Выбрать страницу */
$query = "SELECT * FROM $userstable ORDER BY id DESC LIMIT ".intval($current_page*$rec_per_page).", ".intval($rec_per_page);
$res = mysql_query($query) or die(mysql_error());
$number = mysql_num_rows($res);
if ($number == 0) {
echo "<CENTER>В базе данных ничего нет</CENTER>";
} else {
while ($row=mysql_fetch_array($res)) {
echo '<p align="left"><strong>Вопрос: </strong> <i>'.$row['question'].'</i><br><strong>Ответ: </strong>'.$row['answer'].'<br>'.$row['date'].'</p>';
}
?>
Ниче так.
вторник, 1 сентября 2009 г.
Конвертация текстовых файлов из Windows в Linux и обратно
Windows->Linux
#cat win | tr -d ‘\r’ > nix
#sed s/\\r// win_file > nix_file
Linux->Windows
#sed s/$/\\r/ nix_file > win_file
суббота, 22 августа 2009 г.
Автомонтирование ntfs разделов с cp1251 кодировкой
/dev/sda1 /media/sda1 ntfs-3g defaults,locale=ru_RU.CP1251 0 1
Вместо /dev/sda1 укажите ваш раздел, а вместо /media/sda1 путь, куда будет монтироваться раздел.
среда, 19 августа 2009 г.
Подсветка синтаксиса php в nano
nano /usr/share/nano/php.nanorc
Куда пишем
syntax "php" "\.(php|ctp)$"
color brightblue start="<\?(php)?" end="\?>"
color blue start="<[^\?]" end="[^\?]>"
color white "(var|class|function|echo|case|break|default|exit|switch|if|else|elseif|@|while)\s"
color cyan "\$[a-zA-Z_0-9]*"
color cyan "(\[)|(\])"
color red "="
color green "[,{}()]"
color green "=="
color green "('[^']*')|(\"[^"]*\")"
color yellow start=""
color yellow start="/\*" end="\*/"
color yellow start="#" end="$"
color yellow start="//" end="$"
Подключаем конфиг
echo "include \"/usr/share/nano/php.nanorc\"" >> /etc/nanorc
Готово!
четверг, 13 августа 2009 г.
Qt и зависимости
Те кто только начали разбираться в Qt, вместе с qt-creator советую качать еще libqt4-dev
Для ubuntu: sudo apt-get install libqt4-dev
среда, 15 июля 2009 г.
Добавляем ключи в ubuntu
gpg --keyserver subkeys.pgp.net --recv (здесь ваш ключ)
gpg --export --armor (здесь ваш ключ) | sudo apt-key add -
Или еще проще:
apt-key adv --recv-keys --keyserver subkeys.pgp.net (здесь ваш ключ)
вторник, 2 июня 2009 г.
Bash
#!/bin/bash
COUNTER=0
while [ $COUNTER -lt 10 ]; do
echo The Counter is $COUNTER
wget http://****/www.tar.gz
rm www.tar.gz
let COUNTER=COUNTER+1
done
воскресенье, 24 мая 2009 г.
Linux Distribution Chooser
Очень интересная вещица. Выбор подходящего для вас дистрибутива Linux.
Мне подошли Slackware (90%) и Gentoo (90%) :)
среда, 13 мая 2009 г.
KDE 4.3 Beta1
Вот и увидела свет первая бета версия KDE 4.3
13 Мая, разработчики моего любимого DE аннонсировали выход первой беты 4.3.
Главные новшества:
* Интегрирована поддержка PolicyKit для управления правами пользователей, создание политик ограничения доступа к различным подсистемам и делегирование пользователям отдельных повышенных привилегий;
* Возвращен привычный древовидный менеджер настроек KControl. Добавлен модуль настройки для привязки действий к различным аппаратным событиям;
* Добавлена поддержка сервисов геопозиционирования;
* Реализованы новые анимационные эффекты для окон, улучшено юзабилити всплывающего диалога Run Command;
* В менеджере управления персональной информацией Akonadi добавлена поддержка синхронизации с Google Calendar;
* В KMail появилась возможность вставки изображений в текст сообщений;
* Поддержка настройки клавиатурных комбинаций для Plasma.
* Возможность предварительного просмотра содержимого директории в Plasma;
* Поддержка форматирования текста в knotes;
* Возможность предварительного просмотра видео контента в Dolphin;
* Расширение JavaScript API;
* Новые плазмойды: Bubble Monitor (системный монитор), Magnifique ("увеличительное стекло"), Media Player, openDesktop (плазмойд для организации социального десктопа), Remember The Milk Plasmoid (управление планированием решения задач), Unit converter.
вторник, 12 мая 2009 г.
Доза!
Читал только что securitylab.ru и наткнулся на такую новость: Екатеринбуржца судят за пиратскую Windows на домашнем компьютере. Осудили парня на штраф в размере до 200 тысяч рублей, либо обязательные работы на срок от 180 до 240 часов, либо лишение свободы на срок до 2 лет.
Иванчиков-Нееловский в марте 2009 года у себя дома на системный блок установил программное обеспечение, обладающее признаками контрафактности: «Microsoft Windows Professional SP3/ Русская версия», «Microsoft Office 2007. Русская версия», и другие программы, правообладателями которых являются корпорация Microsoft. Указанные программы являются объектами авторского права, их общая стоимость составляет более 125 тысяч рублей.
Комментарии на секлабе как всегда жгут:
Кстати да, дело и желтоновость о нем удивительным образом совпадает с началом раздачи бесплатной седьмой дозы (http://www.google.com.ua/search?hl=ru&q=windows+7+бесплатно).
Да нет, дело в том, что у M$ упали доходы http://www.vesti.ru/doc.html?id=242171
Так что ждем седьмой дозы...
