
Нам понадобится бинарник php-cgi, установленный в системе. Проверить его наличие можно, введя в терминале
$ which php-cgi
Установка
django-php доступно в PyPI и устанавливается привычным способом:
$ pip install django_php
# или
$ easy_install django_php
В файле settings.py, добавьте
'django_php'
в список INSTALLED_APPS
. Помимо этого, можно указать (а можно и не указывать) путь к php-cgi:PHP_CGI = '/usr/local/bin/php-cgi'
Использование
В шаблоне загружаем библиотеку php:
{% load php %}
django-php предоставляет нам в пользование два тега,
{% php %}
и {% startphp %}...{% endphp %}
. Однострочные вызовы выглядят так:{% php echo 9; %}
или, например:
{% php phpinfo(); %}
или даже так:
{% php for ($i = 0; $i < 8; ++$i) { %}
<li>{% php echo $i; %}</li>
{% php } %}
Для более обширных участков кода применяется блочный тег:
{% startphp %}
$str = '{{ str|addslashes }}';
$str = strrev($str);
echo strtoupper($str);
{% endphp %}
Ограничения альфа-версии
Это самая первая версия django-php, и на данный момент она не умеет fcgi, не может работать с печеньем,
_GET
, _POST
, отправлять заголовки.Демонстрационный проект доступен в репозитории (ссылка на GitHub) вместе с исходниками самого приложения.