Django: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
м робот косметические изменения
Строка 1:
{{wikipedia|Django}}Справочник по WEB-фреймворку Django, написанному на python. Уже существует документация и [http://djbook.ru книги] для Django, поэтому здесь будет только справочная информация (конфиги, кусочки скриптов).
= Начало работы =
== Установка django ==
В Fedora просто: <code>yum install django</code>
 
== Создание проекта ==
<em>Проект</em> в django может быть самостоятельным приложением, но в большой степени это просто структура директорий и настройки общие для всех приложений внутри. А <em>приложение</em> - это как раз код, который выполняется.
 
Строка 31:
`-- views.py - описывается логика приложения
</pre>
== Запуск проекта ==
Перед запуском надо записать изменения в базу данных (если она используется):
<code>python manage.py syncdb</code>
Строка 43:
Зайти по адресу: "http://127.0.0.1:8000/"
 
= Установка на Web-сервер =
 
== Запуск Lighttpd + FastCGI ==
 
Система Fedora 10.
Строка 78:
</pre>
 
===== Настройка =====
Необходимо создайть файл mysite/mysite.fcgi:
 
Строка 97:
"mod_fastcgi", #убедится что расскоментировали
... )
server.document-root = "/var/www/lighttpd" # тут можно оставить стандартный путь
# и например перенести туда media, css, js, img
...
fastcgi.server = ( "/mysite.fcgi" => # это наш файл mysite.fcgi
( "main" => # тут не понял, почему main
(
Строка 116:
)
</source>
===== Запуск =====
Запускаем lighttpd
 
Строка 125:
<code>[mapcuk@fabrica-35 tmp]$ python /tmp/mysite/manage.py runfcgi socket=/tmp/mysite.sock</code>
 
===== Проверка =====
 
Запустился ли fast-cgi сервер
Строка 138:
<source lang="bash">
[mapcuk@fabrica-35 tmp]$ ps aux | fgrep lighttpd
lighttpd 4853 0.0 0.1 6584 1124 ? S 11:37 0:00 /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
mapcuk 5134 0.0 0.0 4244 704 pts/3 S+ 13:32 0:00 fgrep lighttpd
</source>
 
Строка 150:
...
</source>
И /tmp/mysite/books/views.py
<source lang="python">
...
Строка 165:
 
 
===== Описание процесса =====
 
Lighttpd получает запрос от клиента (http://127.0.0.1/search/) отправляет запрос к FastCGI (процессу 'python ./mysite/manage.py runfcgi') через сокет /tmp/mysite.sock, получает ответ и отдаёт клиенту.
Строка 182:
Последнии 2 параметра удобны для поиска ошибок.
 
== Запуск httpd + mod_python ==
 
Конфиг /etc/httpd/conf.d/python.conf который потом вставляется в общий httpd.conf
Строка 189:
<code>Include conf.d/*.conf</code>
<source lang="apache">
Listen 8080 #подслушивать порт 8080
<VirtualHost localhost:8080>
<Location "/django"> #префикс к URL, например localhost:8080/django/search/
Строка 206:
Можно обращаться по адресу http://localhost:8080/django/search/ выдаётся страница поиска.
 
== Запуск httpd + mod_wsgi ==
Надо создать файлик <code>/tmp/mysite/django.wsgi</code>
<source lang="python">
Строка 212:
 
import os, sys
sys.path.append('/tmp') #каталог с нашими проектами django
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.setup' #указывем на файлик /tmp/mysite/setup.py
 
import django.core.handlers.wsgi
Строка 231:
Проверяем по адресу http://localhost:7080/search/ выдаётся страница поиска.
 
= Ссылки =
*[http://djangoproject.com/ Официальный сайт Django]