5 August 2011

django-php: PHP в шаблонах Django

Django
django-phpВ этом посте я расскажу, как подружить Django и PHP с помощью приложения django-php.

Нам понадобится бинарник 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) вместе с исходниками самого приложения.
Tags:djangophpfun
Hubs: Django
+35
6.9k 20
Comments 67