подскажите с Django

Тема в разделе "Другие языки", создана пользователем resen, 28 мар 2009.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. resen

    resen Создатель

    Регистр.:
    13 фев 2007
    Сообщения:
    42
    Симпатии:
    2
    устанавливаю скрипт написаный на django
    всё прописал в конфигах скрипта, сделал python manage.py syncdb
    таблицы залились

    запускаю сервер
    python manage.py runserver
    ---------------
    Validating models...
    0 errors found

    Django version 1.1 beta 1, using settings 'tm.settings'
    Development server is running at Перейти по ссылке
    Quit the server with CONTROL-C.
    ----------------

    по адресу моего проекта (Перейти по ссылке )появляется ошибка:

    Mod_python error: "PythonHandler django.core.handlers.modpython"

    Traceback (most recent call last:(

    File "/usr/lib/python2.4/site-packages/mod_python/apache.py", line 299, in HandlerDispatch
    result = object(req)

    File "/usr/lib/python2.4/site-packages/django/core/handlers/modpython.py", line 228, in handler
    return ModPythonHandler()(req)

    File "/usr/lib/python2.4/site-packages/django/core/handlers/modpython.py", line 191, in __call__
    self.load_middleware()

    File "/usr/lib/python2.4/site-packages/django/core/handlers/base.py", line 33, in load_middleware
    for middleware_path in settings.MIDDLEWARE_CLASSES:

    File "/usr/lib/python2.4/site-packages/django/utils/functional.py", line 269, in __getattr__
    self._setup()

    File "/usr/lib/python2.4/site-packages/django/conf/__init__.py", line 40, in _setup
    self._wrapped = Settings(settings_module)

    File "/usr/lib/python2.4/site-packages/django/conf/__init__.py", line 75, in __init__
    raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?:( %s" % (self.SETTINGS_MODULE, e)

    ImportError: Could not import settings 'local_settings.py' (Is it on sys.path? Does it have syntax errors?:( No module named py

    как бы из логов видно что что то нетак с local_settings.py проекта :(
    и сервер запускается на Перейти по ссылке - это ОК ?
    подскажите в какую сторону копать ????

    (стоит Апач + mod_python)

    по >> python -c "import sys;print sys.path"
    ------
    ['', '/usr/lib/python24.zip', '/usr/lib/python2.4', '/usr/lib/python2.4/plat-linux2', '/usr/lib/python2.4/lib-tk', '/usr/lib/python2.4/lib-dynload', '/usr/lib/python2.4/site-packages', '/usr/lib/python2.4/site-packages/Numeric', '/usr/lib/python2.4/site-packages/gtk-2.0']
     
  2. EugeneVC

    EugeneVC

    Регистр.:
    28 окт 2007
    Сообщения:
    297
    Симпатии:
    83
    Командой
    вы запустили веб сервер для разработчиков. Полностью рабочий сайт теперь у вас доступен по адресу Перейти по ссылке. Но в боевых условиях этот сервер использовать нельзя.

    Как поженить apache и django я не знаю, всегда женю nginx и django.
    Опыт других можно почитать тут:


    Перейти по ссылке
     
  3. resen

    resen Создатель

    Регистр.:
    13 фев 2007
    Сообщения:
    42
    Симпатии:
    2
    а почему нельзя ?
     
  4. alica

    alica

    Регистр.:
    28 июл 2008
    Сообщения:
    243
    Симпатии:
    76
    Если еще не поздно, то выскажусь...

    Из логов видно что невозможно подключить локальные настройки которые лежат в local_settings.py, также что используется python версии 2.4, хотя те же разработчики рекомендуют версию 2.5, при заходе на сайт путем Перейти по ссылке apache + mod_python, что и видно на логах...

    Что же касается как подружить Apache + mod_python с Django, то в доках Django это есть:

    Перейти по ссылке
     
  5. Paulus

    Paulus Постоялец

    Регистр.:
    9 сен 2008
    Сообщения:
    131
    Симпатии:
    11
    А можно ли запустить Джанго под Денвером?
    И если можно, то как это сделать?
     
  6. alica

    alica

    Регистр.:
    28 июл 2008
    Сообщения:
    243
    Симпатии:
    76
    Можно, у меня например такая связка: Денвер - mod_wsgi - Django.

    1) Качаем Перейти по ссылке модуль mod_wsgi под нужный апач и питон

    2)Прописываем в httpd.conf
    Код:
    LoadModule wsgi_module modules/mod_wsgi.so
    3)Создаем отдельный файл виртуального хоста и подключаем его прописав в httpd.conf
    Код:
    Include conf/wsgi.conf
    4)Пример содержимого файла wsgi.conf, т.к. все пути надо изменять под себя
    Код:
    <VirtualHost 127.0.0.1:80>
      DocumentRoot /usr/local/django/mysite/  
      ServerName mysite.local
      ServerAlias www.mysite.local
    
    
      Alias /media/ /usr/local/django/mysite/media/
      <Directory /usr/local/django/mysite/media>
       Order deny,allow
       Allow from all
      </Directory>
    
      WSGIScriptAlias / /usr/local/django/mysite/django.wsgi
    
      <Directory /usr/local/django/mysite/>
       Order deny,allow
       Allow from all
      </Directory>
    
    </VirtualHost>
    
    5)Содержимое django.wsgi (конструкция взята из byteflow)
    Код:
    import sys
    import os
    import os.path
    if not os.path.dirname(__file__) in sys.path[:1]:
        sys.path.insert(0, os.path.dirname(__file__))
    os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
    from django.core.handlers.wsgi import WSGIHandler
    application = WSGIHandler()
    5) Прописываем в host
    Код:
    127.0.0.1  mysite.local
    127.0.0.1  www.mysite.local
    
    Так же можно почитать подробнее на английском Перейти по ссылке

    Запускаем денвер заходим на mysite.local и радуемся работой джанги под mod_wsgi. Надеюсь помог :)
     
    splinter и Paulus нравится это.
  7. Paulus

    Paulus Постоялец

    Регистр.:
    9 сен 2008
    Сообщения:
    131
    Симпатии:
    11
    Спасибо, попробую и тогда скажу, получилось ли.
    А вообще-то, чем Джанга лучше других ЦМС?
     
  8. alica

    alica

    Регистр.:
    28 июл 2008
    Сообщения:
    243
    Симпатии:
    76
    Django не является ЦМС'кой , это Python Web framework.

    Т.е. джангу можно сравнивать с Ruby on Rails, Pylons, Symfony, Zend, CodeIgniter и др фреймворками. Все они способствуют быстрому развертыванию и написанию приложений (сайтов).

    Лично мне нравится джанга за ее структуру, orm, систему кэширования, гибкость классов(модулей), работу с формами и встроенный интерфейс.

    Так же джанга является очень быстрым по сравнению выше перечисленных фреймворков (тока без холиваров :) ).
     
  9. topless

    topless

    Регистр.:
    15 май 2006
    Сообщения:
    213
    Симпатии:
    113
    Все верно. Вот только предложений по работе по данному фреймворку катастрофически мало. Для меня это был решающий фактор пересесть обратно на php фреймворки.
     
Статус темы:
Закрыта.