Инвертирование URL Django с дополнительными опциями

Используя этот пример, как вы упомянули: https://codepen.io/tomhodgins/pen/YJZyPr

Но вместо настройки

h1.letter[--nth-letter="1"] { background: red; }
h1.letter[--nth-letter="2"] { background: orange; }

установите его как

h1.letter[--nth-letter="1"] { color: red; }
h1.letter[--nth-letter="2"] { color: orange; }

и так далее ...

Однако, если вы все равно не можете изменить html, вы можете сделать это с помощью чистого JavaScript, например:

var title = document.querySelector('h1'),
  options = ['blue', 'orange', 'yellow', 'green', 'brown', 'red', 'yellow'];

var result = title.textContent.trim().split('').map((color, i)=>{
   return `${ color }`
}).join('')

title.innerHTML = result
```

MyTitle

```

[1112 ]

13
задан Justin Voss 18 March 2009 в 20:32
поделиться

3 ответа

Вот то, что мы делаем.

urls.py имеет шаблоны как это

url(r'^(?P< datarealm >.*?)/json/someClass/(?P<object_id>.*?)/$', 'json_someClass_resource', ),

views.py как реверс звонит как это

    object = SomeModel.objects.get(...)
    url= reverse('json_someClass_resource', kwargs={'object_id':object.id,'datarealm':object.datarealm.name})
7
ответ дан 1 December 2019 в 20:13
поделиться

Названные URL должны быть опцией. Ваш случай выделяется в ссылке Django:

http://docs.djangoproject.com/en/dev/topics/http/urls/?from=olddocs#id2

Я не уверен, что разработчики оставили другое обходное решение; они ожидали, что названные URL покроют его.

Я могу отступить об инкапсуляции?Спасибо. Существует две главных причины:

  1. Абстракция - никто не хочет видеть детали
  2. Безопасность - никто не должен видеть детали

Что касается 1, можно вытащить достойное количество пробега из него в Python, и Django является превосходным примером. Что касается 2, это - интерпретируемый язык. Или Вы выполняете его, где это записано, или Вы отправляете скомпилированные .pyc файлы. Если это действительно, что Вы делаете, то скомпилируйте конференцию URL.

Наконец, это кажется менее инкапсулированным для уведомления других приложений о функциях, чем структура URL. Но если Вы действительно не соглашаетесь, я думаю, что необходимо будет реализовать более гибкий обратный метод сами.

4
ответ дан 1 December 2019 в 20:13
поделиться

Вам следует попробовать назвать свои urlconfs. Пример:

urlpatterns = patterns('',
    url(r'^foo-direct/', 'myapp.views.someview', {'page_slug': 'foo'}, name='foo-direct'),
    url(r'^my-bar-page/', 'myapp.views.someview', {'page_slug': 'bar'}, name='bar-page'),
)

Затем просто отредактируйте ваши реверсы, и все должно заработать.

>>> from django.core.urlresolvers import reverse
>>> reverse('foo-direct', kwargs={'page_slug': 'foo'})
'/foo-direct/'
>>> reverse('bar-page', kwargs={'page_slug': 'bar'})
'/my-bar-page/'

Дополнительная информация: Django Docs

20
ответ дан 1 December 2019 в 20:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: