Установка Django на Ubuntu 9.10
- Устанавливаем Subversion:
sudo apt-get install subversion
- Загружаем из репозитория последний официальный дистрибутив Django для разработчиков:
svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk
- Прописываем Django в питоне. Для этого, во-первых, выясним значение переменной SITE-PACKAGES-DIR:
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
Полученное значение SITE-PACKAGES-DIR вместе с вашим именем пользователя user_name подставим в следующую команду:
Эта команда создаст в папке SITE-PACKAGES-DIR символическую ссылку на папку в которую Вы скачали дистрибутив Django. Не забудьте подставить в эту команду вместо user_name и SITE-PACKAGES-DIR их настоящие значения! Для меня эта команда имеет такой вот вид:sudo ln -s /home/user_name/django-trunk/django SITE-PACKAGES-DIR/django
sudo ln -s /home/mamishev/django-trunk/django /usr/lib/python2.6/dist-packages/django - Проверяем, установлена ли Django корректно. Для этого в терминале пишем команду:
python
После ввода предыдущей команды появляется приглашение командной строки питона в виде трех символов:
>>>
тут же пишем:import djangoЕсли после ввода этой команды «ничего не произошло», то значит Django установлена корректно. Если питон ругается (ImportError: No module named django), то Вы что-то сделали не так. Удалите символическую ссылку на папку с дистрибутивом джанги, переместившись в папку SITE-PACKAGES-DIR. У меня это /usr/lib/python2.6/dist-packages, поэтому команда перехода в папку SITE-PACKAGES-DIR выглядит как
cd /usr/lib/python2.6/dist-packages
И затем удаляем симлинк на папку с джангой:
Еще раз обращаю ваше внимание. Последние две команды нужно выполнять только если произошла ошибка при выполнении команды import django.sudo rm django
- Проверяем доступность MySQL-сервера. В командной строке пишем:
mysql -u root -p
Если появилось приглашение mysql> , то все хорошо. Если нет — идем в Система > Администрирование > Менеджер пакетов Synaptic, в поле «Быстрый поиск» пишем mysql, выбираем пакет mysql-server (правой клавишей на строку с mysql-server и в открывшемся контекстном меню кликаем левой клавишей на «отметить для установки») и жмем на кнопку с зеленой галочкой «Применить». В процессе установки нужно будет дважды ввести пароль для суперпользователя root.
После установки снова пытаемся запустить MySQL:mysql -u root -p
После ввода команды должно появиться приглашение Enter password:. Вводим пароль, который мы задали для пользователя root в процессе установки MySQL. При вводе пароля символы не будут отображаться, но не пугайтесь, все именно так и должно быть. Появится приглашение MySQL:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 41
Server version: 5.1.37-1ubuntu5 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>Проверим какие базы данных у нас установлены:
show databases;
Жмем Enter и получаем такой вот ответ:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | +--------------------+ 2 rows in set (0,00 sec)
- Создаем новую БД для нашего проекта (на примере neoseller.ru):
CREATE DATABASE neoseller DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Получаем такой ответ:
Query OK, 1 row affected (0,01 sec)
Это означает что наша БД успешно создана. Можем в этом убедиться, запросив:
show databases;
- Устанавливаем модуль python-mysqldb для подключения питона к MySQL. Для этого идем в менеджер пакетов Synaptic и пишем в строке быстрого поиска mysqldb. В отобразившемся списке кликаем на python-mysqldb и выбираем «отметить для установки». Нажимаем кнопку с зеленой галочкой «Применить» и еще раз подтверждаем установку пакета.
-
Идем в папку с джангой (у меня это /home/mamishev/django-trunk/django/bin/. Чтобы убедиться что это та самая папка — проверьте, в ней должен лежать файл django-admin.py) и создаем новый проект вот такой командой:
python django-admin.py startproject neoseller
Здесь и далее вместо neoseller следует писать имя вашего проекта.
Эта команда создет в папке bin папку с именем нового проекта. Внутри этой папки 4 файла:__init__.py
manage.py
settings.py
urls.py -
Редактируем свежесозданный файл settings.py:
DATABASE_ENGINE = 'mysql' # Здесь указываем тип нашей СУБД (еще бывают 'postgresql', 'sqlite3', 'oracle') DATABASE_NAME = 'neoseller' # Здесь указываем название нашей БД DATABASE_USER = 'root' # Имя пользователя БД DATABASE_PASSWORD = 'zdes_pishem_parol' # Пароль пользователя БД DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3. DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
-
Переходим в папку нашего проекта
cd /home/mamishev/django-trunk/django/bin/neoseller
и запускаем сервер:
python manage.py runserver
После запуска сервера должно появиться примерно вот такое сообщение в терминале:
Django version 1.2 pre-alpha SVN-11642, using settings 'neoseller.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[25/Oct/2009 19:35:13] "GET / HTTP/1.1" 200 2059Чтобы убедиться что сервер действительно запущен, откройте в браузере ссылку
http://127.0.0.1:8000/
Если вы все сделали правильно, то увидите такую картинку:
-
Откроем в терминале новую вкладку (Файл > Открыть вкладку) и выполним такую команду:
python manage.py syncdb
Эта команда создаст в нашей базе данных таблицы для работы встроенных (системных) приложений джанги. Чтобы посмотреть какие таблицы были созданы, откройте в терминале еще одну вкладку и введите
mysql -u root -p
После ввода пароля увидите приглашение mysql >
далее вводитеshow tables in neoseller;
вместо neoseller, конечно, нужно указать имя вашего проекта
Эта команда (а точнее — SQL-запрос) выведет стисок всех таблиц в базе нашего проекта:show tables in neoseller; +----------------------------+ | Tables_in_neoseller | +----------------------------+ | auth_group | | auth_group_permissions | | auth_message | | auth_permission | | auth_user | | auth_user_groups | | auth_user_user_permissions | | django_content_type | | django_session | | django_site | +----------------------------+ 10 rows in set (0,01 sec)
Эти таблицы были автоматически созданы на основании перечня приложений в разделе INSTALLED_APPS файла settings.py нашего проекта:
INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', )
- Теперь создадим первое веб-приложение для нашей джанги. Следуя логике официального джангового туториала, создадим приложение polls для системы голосования на нашем сайте. Помните, все команды, в том числе и эту надо выполнять из папки нашего проекта (/home/имя_пользователя/django-trunk/django/bin/имя_проекта). Итак, из папки проекта вводим в терминале команду:
python manage.py startapp polls
Эта команда внутри папки проекта создаст папку polls с четырьмя файлами внутри:
Этими файлами управляется работа приложения polls.__init__.py
models.py
tests.py
views.py
(Продолжение следует...)

Извиняюсь, стормозил по причине совершенного 0 в знании основ Linux
Потом — зачем запускать Синаптик, можно просто:
sudo apt-get install mysql-server
можно
"Полученное значение SITE-PACKAGES-DIR вместе с вашим именем пользователя user_name подставим в следующую команду:
sudo ln -s /home/user_name/django-trunk/django SITE-PACKAGES-DIR/django... "
Эта команда у меня заработала без подкаталога /user_name, т.е.:
sudo ln -s /home/django-trunk/django SITE-PACKAGES-DIR/django
Что значит «команда заработала» ) Смысл этой команды — создать в папке SITE-PACKAGES-DIR символическую ссылку на папку в которой у Вас джанга. Папка
/home/<user_name>/это всего лишь домашняя директория текущего пользователя, так называемый «хомяк», где у меня и лежала джанга. Но вовсе не обязательно ставить джангу в «хомяк». Поставьте куда угодно. Только дайте ссылку на эту папку, чтобы она (папка с джангой) была включена в PYTHONPATH.Хорошо описано.Пишите ещё.