Главная > Пошаговые инструкции > Установка Django на Ubuntu 9.10

Установка Django на Ubuntu 9.10

  1. Устанавливаем Subversion:
    sudo apt-get install subversion
  2. Загружаем из репозитория последний официальный дистрибутив Django для разработчиков:
    svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk
  3. Прописываем Django в питоне. Для этого, во-первых, выясним значение переменной SITE-PACKAGES-DIR:
    python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

    Полученное значение SITE-PACKAGES-DIR вместе с вашим именем пользователя user_name подставим в следующую команду:

    sudo ln -s /home/user_name/django-trunk/django SITE-PACKAGES-DIR/django
    Эта команда создаст в папке SITE-PACKAGES-DIR символическую ссылку на папку в которую Вы скачали дистрибутив Django. Не забудьте подставить в эту команду вместо user_name и SITE-PACKAGES-DIR их настоящие значения! Для меня эта команда имеет такой вот вид:
    sudo ln -s /home/mamishev/django-trunk/django /usr/lib/python2.6/dist-packages/django
  4. Проверяем, установлена ли 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

    И затем удаляем симлинк на папку с джангой:

    sudo rm django
    Еще раз обращаю ваше внимание. Последние две команды нужно выполнять только если произошла ошибка при выполнении команды import django.
  5. Проверяем доступность 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)
  6. Создаем новую БД для нашего проекта (на примере neoseller.ru):
    CREATE DATABASE neoseller DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

    Получаем такой ответ:

    Query OK, 1 row affected (0,01 sec)

    Это означает что наша БД успешно создана. Можем в этом убедиться, запросив:

    show databases;
  7. Устанавливаем модуль python-mysqldb для подключения питона к MySQL. Для этого идем в менеджер пакетов Synaptic и пишем в строке быстрого поиска mysqldb. В отобразившемся списке кликаем на python-mysqldb и выбираем «отметить для установки». Нажимаем кнопку с зеленой галочкой «Применить» и еще раз подтверждаем установку пакета.
  8. Идем в папку с джангой (у меня это /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
  9. Редактируем свежесозданный файл 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.
  10. Переходим в папку нашего проекта

    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/
    Если вы все сделали правильно, то увидите такую картинку:

    Django успешно установлена.

  11. Откроем в терминале новую вкладку (Файл > Открыть вкладку) и выполним такую команду:

    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',
    )
  12. Теперь создадим первое веб-приложение для нашей джанги. Следуя логике официального джангового туториала, создадим приложение polls для системы голосования на нашем сайте. Помните, все команды, в том числе и эту надо выполнять из папки нашего проекта (/home/имя_пользователя/django-trunk/django/bin/имя_проекта). Итак, из папки проекта вводим в терминале команду:
    python manage.py startapp polls

    Эта команда внутри папки проекта создаст папку polls с четырьмя файлами внутри:

    __init__.py
    models.py
    tests.py
    views.py
    Этими файлами управляется работа приложения polls.
    (Продолжение следует...)
  1. 6 Декабрь 2009 в 15:46 | #1

    Извиняюсь, стормозил по причине совершенного 0 в знании основ Linux

  2. 2 Декабрь 2009 в 04:14 | #2

    Потом — зачем запускать Синаптик, можно просто:

    sudo apt-get install mysql-server

  3. 2 Декабрь 2009 в 04:08 | #4

    "Полученное значение 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

    • 3 Декабрь 2009 в 11:29 | #5

      Что значит «команда заработала» ) Смысл этой команды — создать в папке SITE-PACKAGES-DIR символическую ссылку на папку в которой у Вас джанга. Папка /home/<user_name>/это всего лишь домашняя директория текущего пользователя, так называемый «хомяк», где у меня и лежала джанга. Но вовсе не обязательно ставить джангу в «хомяк». Поставьте куда угодно. Только дайте ссылку на эту папку, чтобы она (папка с джангой) была включена в PYTHONPATH.

  4. 1 Ноябрь 2009 в 00:59 | #6

    Хорошо описано.Пишите ещё.

  1. Пока что нет уведомлений.
Необходимо войти на сайт, чтобы написать комментарий.