Установка и настройка Django.

Posted by Reason89 | Posted in

   В связи с некоторыми нововведениями и изменениями на Hackzona.ru встала острая необходимость в кратчайшие сроки освоить фреймворк Django.
Проблем с установкой Django немного по больше, нежели с Python. Почему то во всех источниках предлагают устанавливать через Subversion. Но у меня и без того, все прекрасно встало.
apt-get install python-django
Проверяем установку:
Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.VERSION
(1, 2, 3, 'final', 0)
>>>
   Так как любой нормальный проект, как никак должен работать с базой даных. А наиболее распространенная, и хоть как то мне знакомая это MySQL. То в последующем была установка MySQL и различных пакетов для работы с ней.
apt-get install python-mysqldb
apt-get install mysql-client
apt-get install mysql-server
apt-get install python-sqlite
   Для того чтобы убедиться, что все установлено правильно. Можно произвести сканирование портов и увидеть, что на порту 3306 весит mysql.
   Далее попробовал создать первый проект, чтоб хоть как то начать работу. В сети этот метод расписан как то не особо корректно. Предлагают просто ввести: django-admin.py startproject [каталог]. В результате чего, естественно выходит сообщение, что команда не найдена.
reason89@reason89-A7U:~$ whereis django-admin.py
django-admin: /usr/bin/django-admin /usr/share/man/man1/django-admin.1.gz
reason89@reason89-A7U:~$ cd /home/reason89/Django
reason89@reason89-A7U:~/Django$ /usr/bin/django-admin startproject prj1
reason89@reason89-A7U:~/Django$ 
 В результате в каталоге prj1 создалось 4 файла.
Попробовав запустить все это дело:
reason89@reason89-A7U:~/Django$ /home/reason89/Django/prj1/manage.py runserver
Получаю:
Validating models...
0 errors found
Django version 1.2.3, using settings 'prj1.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[01/Jul/2011 10:10:25] "GET / HTTP/1.1" 200 2047
И перейдя на http://127.0.0.1:8000 уже лицезреем:
It worked!
Congratulations on your first Django-powered page.
Of course, you haven't actually done any work yet. Here's what to do next:
If you plan to use a database, edit the DATABASES setting in prj1/settings.py.
Start your first app by running python prj1/manage.py startapp [appname].
You're seeing this message because you have DEBUG = True in your Django settings file and you haven't configured any URLs. Get to work!



Comments (4)

    Пожалуй, откаменчу =)

    1. Версия, как мы уже выяснили, у тебя установилась старая. 1.2 не годно совсем. Поэтому ставим virtualenv, создаем окружение, заходим в него и ставим так:
    pip install Django==1.3

    2. Как мы тоже выяснили по ICQ, sqlite проще в использовании для разработки; смысл в использовании mysql и бд от oracle появляется только если используются их отличительные фичи. А в большинстве случаев этого не требуется. Однако если на сервере разворачивается именно mysql, то тестам лучше использовать его, ну или вообще сделать continuous integration.

    3. И еще ты забыл сделать syncdb, как и настроить базу :) поэтому можно переименовать статью просто в "установка Django"

    > В сети этот метод расписан как то не особо
    > корректно. Предлагают просто ввести: django-admin.py
    > startproject [каталог]. В результате чего, естественно
    > выходит сообщение, что команда не найдена.

    в твоем случае 'django-admin startproject [каталог]', но если установить от сюда https://www.djangoproject.com/download/ то все будет как в книжках ;)
    кстати, вот хорошая книжка http://www.kodges.ru/87792-django.-podrobnoe-rukovodstvo.html сам ее сейчас читаю =)

    H3n0xek
    По поводу обновления версии спасибо, с нее и начал.
    Что же относительно БД, то решил ее пока не трогать как дойду до работы с ней, то там видно будет...

    IT.Tux.Droid Said
    По поводу книги да, все разжевано, тоже с неё решил начать.

    > Почему то во всех источниках предлагают устанавливать через Subversion

    Пару лет назад, django активно развивалась и многие вкусные фишки были доступны только в trunk, поэтому много людей сидело на транке. С тех пор ситуация изменилась, джанго несколько раз релизилась и, насколько мне кажется, все уже довольны тем, что есть в последних релизах (1.2, 1.3), поэтому смысла ставить релиз через subversion мало, проще ставить пакет Django через pip или easy_install

    Как выше написали, правильный путь работы с django проектами, это создание своего virtualenv для сайта и установки всех зависимостей (включая django) в него.

Отправить комментарий