@Flubba, это позволяет мне иметь папки в моем включает каталог? плоский включают каталоги, дают мне кошмары. поскольку целый каталог объектов должен быть в inc каталоге.
Ах да, абсолютно. Так, например, мы используем единственный слой подпапок, обычно:
require_once('library/string.class.php')
необходимо быть осторожными с доверием включать пути слишком много в сайтах действительно интенсивного трафика, потому что php должен искать через текущий каталог и затем все каталоги на включать пути, чтобы видеть, там ли файл, и это может замедлить вещи, если Вы становитесь прибитыми.
Так, например, при выполнении MVC Вы поместили путь к своему приложению directoy во включать пути и затем определяете, относятся к вещам в форме
'model/user.class'
'controllers/front.php'
или что бы то ни было.
, Но вообще говоря, это просто позволяет Вам работать с действительно короткими трактами в своем PHP, который будет работать отовсюду, и намного легче считать, чем все это realpath корневую выдумку документа.
преимущество тех основанных на сценарии других альтернатив предложило, они работают где угодно, даже на общих полях; установка включать путь требует немного более мысли и усилия, но поскольку я упомянул, позволяет Вам начать использовать __ автозагрузка который просто самое прохладное.
Мне удалось успешно перейти на более раннюю версию, и на самом деле это очень простой процесс. Надеюсь, это поможет людям, которые упускают из виду то, что я сделал.
Команда startproject
django-admin.py в 1.1.1 создает файл settings.py, который немного отличается от текущего разрабатываемого выпуска.
startproject
в текущем выпуске разработчика имеет дополнительный класс промежуточного программного обеспечения - csrf. Команда startproject в 1.1.1 создает тот же файл settings.py, но с удаленным третьим классом. Комментируя или удаляя эту строку, Django работает правильно.
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware', #additional middleware class
'django.contrib.auth.middleware.AuthenticationMiddleware',
)
Найдите в каталоге / site-packages /
файлы Django-1.other_stuff.egg-info
и удалите все, что найдете, затем попробуйте снова (с кодом для 1.1 все еще в каталоге site-packages / django /
. Если это не сработает, просто повторно запустите установщик Django из архива последней версии (установка python setup.py) и у вас все должно быть хорошо.
В качестве альтернативы, если у вас установлен pip , вы, вероятно, можете просто выполнить pip install -U Django == 1.1.1
в терминале.
Обратите внимание на заглавную D
в Django
в этих файлах с информацией о яйцах и в команде pip.
вы можете просто установить django нужной вам версии в своем пользовательском пространстве, скажем, в / home / me / lib /
, тогда, если вы используете mod_wsgi в своем mysite.wsgi, у вас есть строка:
sys.path.insert(0,'/home/me/lib/Django-1.1')
это гарантирует, что django загружается из вашей установки, а не из сервера.
вам также необходимо настроить переменную пути среды оболочки так, чтобы правильный django-admin.py запускался или просто запускался напрямую
python /home/me/lib/Django-1.1/django/bin/django-admin.py ...