#python #django #angularjs #django-templates #django-views
#python #django #angularjs #django-шаблоны #django-представления
Вопрос:
У меня есть это settings.py
, которое включает в себя мой global_constants.py
Теперь я хочу получить доступ к константам, которые я определил global_constants.py
в своем шаблоне Django, используя Angular JS. Как это сделать?
Мой global_constants.py
контент содержит следующую функцию:
def my_image_urls(request):
return {
"URL_ONE": "http://mywebsite.com/IMAGE/Image_one",
"URL_TWO": "http://mywebsite.com/IMAGE/Image_two",
}
Теперь я хочу получить доступ к этому URL_ONE
и URL_TWO
в my template/index.html
, который вызывается my Views.py
. Но МОЯ ЦЕЛЬ — ВЫЗВАТЬ ЭТО С ПОМОЩЬЮ ANGULARJS в моем шаблоне. Как именно я могу этого добиться. Нужен обзор, чтобы я двигался в правильном направлении 🙂
Как я хочу использовать его в своем шаблоне, так:
{{ URL_ONE }} /myimage.jpeg
{{ URL_TWO }} /myimage_two.jpeg
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ, ЧТО Я ИСПОЛЬЗУЮ ANGULARJS ДЛЯ СВОЕГО ШАБЛОНА
Ответ №1:
Для получения значений из django в angularjs существует два основных способа:
- Создайте представление, которое возвращает JSON
- В представлении, которое обслуживает ваше приложение angularjs, используйте шаблоны django для кодирования дополнительной информации либо в тег скрипта, либо в атрибуты данных.
Итак, если вы абсолютно не хотите использовать какие-либо шаблоны django, тогда вашему приложению angular js потребуется вызвать ваше представление настроек JSON.
Если вы хотите исключить этот первоначальный цикл туда и обратно, используйте шаблоны django для ввода ваших значений в javascript:
<script type="text/javascript">
var DJANGO_URLS = {URL_ONE: "{{URL_ONE}}", URL_TWO: "{{URL_TWO}}"};
</script>
Теперь ваше приложение angular может получать доступ к переменным глобально (т.е. window.DJANGO_URLS).