Теги шаблона djng_rmi в Django-Angular не расширяются
Я пытаюсь использовать djangoRMIProvider из Django-Angular, чтобы дать моему угловому приложению, доступному поверх django, доступ к некоторым методам django.
Фрагмент, в который я скопировал (и настроил my_app
имя), и добавил console.log
к это:
{% load djangular_tags %}
…
<script type="text/javascript">
console.log("djangoRMIProvider: "+djangoRMIProvider);
my_app.config(function(djangoRMIProvider) {
djangoRMIProvider
.configure(
{% djng_current_rmi %} <!--errors here -->
);
});
</script>
Оказывается, что ни {% djng_current_rmi %}
ни {% djng_all_rmi %}
расширить до того, что они должны.
Я дошел до копирования файла Django-Angular djangular_tags.py
под:
my_app
↳ templatetags
↳ djangular_tags.py
И я уверен, что оба my_app
а также django_angular
(Мне пришлось переименовать приложение Django-Angular djangular
в django_angular
так как есть еще один пакет, Djangular, с именем приложения djangular
- попробуйте сказать, что в десять раз быстрее) в 'INSTALLED_APPS'.
Я даже использовал этот грязный хак для принудительной установки тегов во встроенные функции, но я либо сделал это неправильно, либо он не работает django.templatetags.my_app.templatetags.djangular_tags
, что не правильно, или другие ошибки, если я поставлю что-нибудь, кроме my_app.templatetags.djangular_tags
в этом вызове функции)
1 ответ
{}
для объявления функции запутайте django, когда он ищет теги для внедрения. Перемещая его за пределы объявления функции, оно должно работать нормально.
{% load djangular_tags %}
…
<script type="text/javascript">
var tags = {% djng_current_rmi %}
my_app.config(function(djangoRMIProvider) {
djangoRMIProvider
.configure(
tags
);
});
</script>