• Как настроить маршрутизацию в Angular -route + Django?

    @marazmiki
    Укротитель питонов
    Поглядите в консоли разработчика, на какие адреса идут запросы к шаблонам, указанным в templateUrl. Сдаётся мне, Джанга вместо них отдаёт индексную страницу, которая инициализирует ангуляр, ищет роут, пытается загрузить шаблон, вместо него получает главную и так до упора.

    Если я угадал, то какие есть пути решения:

    1. Неправильный: класть все шаблоны ангуляра в директорию для статических файлов (см. staticfiles)

    2. Вообще не использовать Джанго для фронтэнда. Как бэкенд с API он отлично подходит, а вот для SPA и в частности для ангуляра — не очень. Я бы посоветовал разрабатывать SPA в отдельном репозитории, который ничего не знает про бэкенд.
    Ответ написан
    2 комментария
  • Как вывести данные из контроллера в шаблон Angular js?

    ptrvch
    @ptrvch
    вебдев-энтузиаст. Django, AngularJS
    Второй вариант, наряду с тегом {% verbatim %} - переопределить теги AngularJS:

    angular.module('app', []).config(function($interpolateProvider){
            $interpolateProvider.startSymbol('{$');
            $interpolateProvider.endSymbol('$}');


    После этого вместо стандартных {{}}, которые входят в конфликт с Джанго, используйте {$ $}
    Ответ написан
    Комментировать
  • Как вывести данные из контроллера в шаблон Angular js?

    tema_sun
    @tema_sun
    Используйте тег {% verbatim %}
    https://docs.djangoproject.com/en/1.9/ref/template...
    Ответ написан
    Комментировать
  • Как привязать множество подмоделей к одной модели в Django?

    Модели Case и Article должны быть связаны с помощью ForeignKey.
    class Article(models.Model):
        ...
        case = models.ForeignKey(Case, related_name='articles')
        ...

    Теперь в сериалайзере CaseSerializer вы можете отобразить связи в виде PrimaryKeyRelation или с помощью вложенного сериалайзера
    class CaseSerializer(serializers.ModelSerializer):
        class Meta:
            model = Case
            fields = (..., ..., 'articles')


    Почитайте доки по теме
    Ответ написан
    Комментировать
  • Haystack+Solr: Как настроить фасетный поиск, чтобы он работал методом "OR"?

    @skorpix Автор вопроса
    Решение (вдруг кому пригодится) (у меня здесь еще сделано, что если поисковая строка не задана, то выдаются все результаты):
    from collections import defaultdict
    
    from haystack.forms import FacetedSearchForm
    
    
    class FacetedNotEmptySearchForm(FacetedSearchForm):
    
        def no_query_found(self):
            return self.searchqueryset.all()
    
        @property
        def selected_multi_facets(self):
            selected_multi_facets = defaultdict(list)
            for facet_kv in self.selected_facets:
                if ":" not in facet_kv:
                    continue
                field_name, value = facet_kv.split(':', 1)
                selected_multi_facets[field_name].append(value)
            return selected_multi_facets
    
        def search(self):
            sqs = super(FacetedSearchForm, self).search()
            for field, values in self.selected_multi_facets.items():
                if not values:
                    continue
                clean_values = ['"%s"' % sqs.query.clean(val) for val in values]
                sqs = sqs.narrow(u'%s:(%s)' % (field, " OR ".join(clean_values)))
            return sqs
    Ответ написан
    Комментировать
  • Рекомендуется ли использовать angularjs совместно с jquery?

    cjbars
    @cjbars
    имхо, они прекрасно работают в паре, просто для разных нужд работают.
    А плагины для Jquery отлично прицепляются через директивы(например) или вообще делаются в три строчки кода в самом angular.

    jQuery - берет DOM - парсит его и позволяет им крутить вертеть
    angular - берет данные - и делает из них DOM

    направление работы противоположное как бы
    Ответ написан
    Комментировать