Передача настроек django в шаблон django с помощью angularjs

#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).