Главная > Пошаговые инструкции > Установка 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. gelez
    1 Ноябрь 2009 в 00:59 | #1

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

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

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

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

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

    Потом – зачем запускать Синаптик, можно просто:
    sudo apt-get install mysql-server

  4. EvgIq
    6 Декабрь 2009 в 15:46 | #6

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

  1. Пока что нет уведомлений.