Форум сайта python.su
Apache, mod_python все стало нормально, по крайней мере запускается.
Django проект назывался intras (C:\Python25\Lib\site-packages\django\bin\intras - здесь все лежало)
Вот, то что в ней лежало копирую в папку Apache для документов по умолчанию C:\Apache2.2\htdocs
То что написал в httpd.conf:
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE intras.settings
PythonDebug On
PythonAutoReload Off
PythonPath "['htdocs', 'C:/Python25/lib/site-packages/django'] + sys.path"
</Location>
<Location "/static/">
SetHandler None
</Location>
MOD_PYTHON ERROR
ProcessId: 3712
Interpreter: 'vaertas-37debf8.vaertas.ru'
ServerName: 'vaertas-37debf8.vaertas.ru'
DocumentRoot: 'C:/Apache2.2/htdocs'
URI: '/'
Location: '/'
Directory: None
Filename: 'C:/Apache2.2/htdocs/'
PathInfo: ''
Phase: 'PythonHandler'
Handler: 'django.core.handlers.modpython'
Traceback (most recent call last):
File "C:\Python25\lib\site-packages\mod_python\importer.py", line 1537, in HandlerDispatch
default=default_handler, arg=req, silent=hlist.silent)
File "C:\Python25\lib\site-packages\mod_python\importer.py", line 1229, in _process_target
result = _execute_target(config, req, object, arg)
File "C:\Python25\lib\site-packages\mod_python\importer.py", line 1128, in _execute_target
result = object(arg)
File "C:\Python25\lib\site-packages\django\core\handlers\modpython.py", line 177, in handler
return ModPythonHandler()(req)
File "C:\Python25\lib\site-packages\django\core\handlers\modpython.py", line 145, in __call__
self.load_middleware()
File "C:\Python25\lib\site-packages\django\core\handlers\base.py", line 31, in load_middleware
raise exceptions.ImproperlyConfigured, 'Error importing middleware %s: "%s"' % (mw_module, e)
ImproperlyConfigured: Error importing middleware django.contrib.sessions.middleware: "No module named intras"
ImportError at /
No module named intras.urls
Request Method: GET
Request URL: http://localhost/
Exception Type: ImportError
Exception Value: No module named intras.urls
Exception Location: C:\Python25\lib\site-packages\django\core\urlresolvers.py in _get_urlconf_module, line 177
Офлайн
Может вместо intras стоило назвать его localhost. С путями уже все перепробовал….
Офлайн
Кстати секция в httpd.conf на самом деле выглядит так:
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE settings
PythonDebug On
PythonAutoReload Off
PythonPath "['htdocs', 'C:/Python25/lib/site-packages/django'] + sys.path"
</Location>
<Location "/static/">
SetHandler None
</Location>
Офлайн
А где проект лежит?
Офлайн
Daevaorn спасибо. Сам разобрался, прошу у всех прощения за идиотский вопрос просто из всех файлов надо было убрать intras(имя проекта в django), просто смутило то что он в самом начале ругался на сессии.
Офлайн
Бесценный опыт:) для других новичков для тех у кого winXP, Python 2.5.2, mod_python 3.3.1, Django 0.96.2, MySQL-python 1.2.2 и т.д.
Влюбился я в одну девушку и чтобы быть к ней поближе, устроился на работу где она и работала, я программист, она - менеджер по кадрам.
Любовь тем не менее прошла достаточно быстро, хотя была очень бурной и сильной. Теперь думаю увольняться или нет. Но рассказ не об этом.
Пришлось изучать новую платформу (Django), и язык новый (Python), при жутком нежелании поначалу, и дикой нехватке рабочего и свободного времени.
Вот и тут возникла новая любовь, настолько сильная, что захотелось послать подальше следующие вещи: PHP, ASP.NET и C#, и теперь, я точно знаю что следующие системы я буду стараться делать не на C#, как было последние несколько нет, а на Python, а если они и сетевые то и с Django (в виде web-приложений). Если нет особых проблем с javascript/ajax/css/, версткой, то вообще красота.
Почему Python и Django.
У меня не было времени, чтобы разбираться во всех тонкостях, нужно было делать. В нашей организации, несмотря на то что на всех системах стоит xp и менять на что то другое не собираются к технологиям Microsoft относятся не очень.
Поэтому запретили делать на ASP.NET, но и требовалось сделать на фреймоворке, причем не на PHP-шном, здесь PHP тоже считают бесперспективным, так что всякие Zend были в пролете, вообщем был выбор или Ruby On Rails или Python On Django.
Ни того ни другого я не знал, Python выбрал потому что он мне пригодится в других вещах. Приходилось, делать и одновременно изучать. Так тоже можно, но теории все равно не хватает.
Некоторые наблюдения, если это поможет хоть одному новичку такому же как я, значит писал не зря:
1. Проблема которую пришлось решать сегодня
Apache 2.0.46 и mod_python для Apache 2.0 ни фига не катят, cannot load module и все такое.
Если есть желание разобраться с этой ошибкой разбирайтесь, я же просто поставил Apache 2.2.29 mod_python для Apache 2.2 и никаких проблем, все стало сразу.
В httpd.conf:
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE settings
PythonDebug On
PythonAutoReload Off
PythonPath "['htdocs', 'C:/Python25/lib/site-packages/django'] + sys.path"
</Location>
(r'^static/(.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
MEDIA_ROOT = 'static'
MEDIA_URL = ''
ADMIN_MEDIA_PREFIX = '/media/'
<Location "/static/">
SetHandler None
</Location>
# -*- coding: utf-8 -*-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
CHARACTER SET utf8 COLLATE utf8_general_ci;
cursor.execute("SET NAMES utf8")
{% for folder in folders %}
...{{ folder.0 }}..... {{ folder.1 }}
{% endfor %}
grpGroups=request.POST.getlist('grpGroups')
Отредактировано (Сен. 10, 2008 16:47:03)
Офлайн
(r'^static/(.*)$', ‘django.views.static.serve’, {'document_root': settings.MEDIA_ROOT}),Так делать - не безопасно, на боевом сервере так делать нельзя.
Если у вас данные передаются в шаблон например в виде списка, то перебираете в цикле for иначе у вас вместо русских символов будет что-то вроде /x8383/x3434, это гораздо лучше чем ????? конечно:) но может испугать поначалу..Что-то я не понял суть прблемы решение которой тут описано.
Отредактировано (Сен. 10, 2008 18:40:52)
Офлайн
FerromanПочему, разьясни пожалуйста.
Так делать - не безопасно, на боевом сервере так делать нельзя.
Офлайн
Честно говоря - не вникал. Просто верю разработчикам на слово (How to serve static files).
The big, fat disclaimer
Using this method is inefficient and insecure. Do not use this in a production setting. Use this only for development.
For information on serving static files in an Apache production environment, see the Django mod_python documentation.
Офлайн
А если в http.conf написать так:
<Location "/static/">
SetHandler None
</Location>
Офлайн