Похоже, большинство рекомендаций здесь состоит в том, чтобы не вызывать fsync (), но в целом это в основном зависит от требований вашего приложения. Если вы работаете с критически важным файлом для чтения / записи, всегда рекомендуется вызывать fsync ().
http://www.microhowto.info/howto/atomically_rewrite_the_content_of_a_file.html#idp31936
, содержит более подробную информацию о том, когда file.Sync () поможет.
Конфигурация вашего apache должна выглядеть так:
<Location "/mysite">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonOption django.root /mysite
PythonPath "['/root/djangoprojects/', '/root/djangoprojects/mysite','/root/djangoprojects/mysite/polls', '/var/www'] + sys.path"
PythonDebug On
</Location>
Обратите внимание, что единственное отличие - это "mysite. настройки ». Не забудьте перезапустить apache после изменения конфигурации (перезапуск apache2ctl). См. http://docs.djangoproject.com/en/dev/howto/deployment/modpython/ для получения дополнительной информации.
Попробуйте изменить на следующее:
<Location "/mysite">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonOption django.root /mysite
PythonPath "['/root/djangoprojects', '/var/www'] + sys.path"
PythonDebug On
</Location>
Не используйте "/" в конце записей PythonPath (это может быть проблемой, у меня были проблемы с этим, по крайней мере, в Windows).
Записи '/ root / djangoprojects / mysite', '/ root / djangoprojects / mysite / polls' не нужны, поскольку вы будете обращаться к своим модулям по полному имени (т.е. mysite.sttings означает модуль настроек внутри mysite пакет, который является правильным способом доступа к нему в PythonPath /root/djangoprojects).