Форум сайта python.su
Задача касается django опосредованно.
{% for level in levels %}
<li><a href="/level/{{level}}/">Этаж {{level}}</a></li>
{% endfor %}
Офлайн
pal201Ну да django тут в приницпе нипричем
Задача касается django опосредованно.Как для вывода ссылок установить для конкретной ссылки class active?{% for level in levels %}
<li><a href="/level/{{level}}/">Этаж {{level}}</a></li>
{% endfor %}
Спасибо
<a href="/level/{{level}}/" class="active">Этаж {{level}}</a>
<a href="/level/{{level}}/" class = {{class}}>Этаж {{level}}</a>
Отредактировано (Фев. 16, 2012 12:49:58)
Офлайн
pustsergВы не поняли. Список выводится циклом. Ссылки получают свои адреса из базы, нужно определить что нажата именно эта ссылка. Как это можно сделать?pal201Ну да django тут в приницпе нипричем
Задача касается django опосредованно.Как для вывода ссылок установить для конкретной ссылки class active?{% for level in levels %}
<li><a href="/level/{{level}}/">Этаж {{level}}</a></li>
{% endfor %}
СпасибоНо если есть желание все делать через django, то можно и так<a href="/level/{{level}}/" class="active">Этаж {{level}}</a>и передавать {{class}} в шаблон )<a href="/level/{{level}}/" class = {{class}}>Этаж {{level}}</a>
Офлайн
Anchor Pseudo-classes
Links can be displayed in different ways in a CSS-supporting browser:
Example
a:link {color:#FF0000;} /* unvisited link */
a:visited {color:#00FF00;} /* visited link */
a:hover {color:#FF00FF;} /* mouse over link */
a:active {color:#0000FF;} /* selected link */
Try it yourself »
*кінець цитати*
просто используй css
ну или я тоже не понял что требуется..
Офлайн
alexzander77Возможно, я не понятно выражаюсь.
Anchor Pseudo-classes
Links can be displayed in different ways in a CSS-supporting browser:
Example
a:link {color:#FF0000;} /* unvisited link */
a:visited {color:#00FF00;} /* visited link */
a:hover {color:#FF00FF;} /* mouse over link */
a:active {color:#0000FF;} /* selected link */
просто используй css
ну или я тоже не понял что требуется..
{% for menulink in menulinks %}<li
><a href="{{ menulink.url }}"
{% if menulink.extra_title %} title="{{ menulink.extra_title }}" {% endif %}
{% if menulink.isCurrentPage %} class="currentPage" {% endif %}
{% if menulink.isCurrentSection %} class="currentSection" {% endif %}
>{{ menulink.title }}</a></li
Офлайн
HttpRequest.path ?
Офлайн
alexzander77Да, думаю то, что надо. Можно ли пример сопоставления адреса?
HttpRequest.path ?
Офлайн
>>> links = "menu_1,menu_2,menu_3".split(",")
>>> request_path='path/to/menu/menu_2/'
>>> menulinks= [{'isCurrentPage':request_path[:-1].endswith(L)} for L in links]
>>> map(lambda ml,l :ml.setdefault('url',l), menulinks,links)
['menu_1', 'menu_2', 'menu_3']
>>> menulinks
[{'url': 'menu_1', 'isCurrentPage': False}, {'url': 'menu_2', 'isCurrentPage': True}, {'url': 'menu_3', 'isCurrentPage': False}]
>>> for menulink in menulinks:
... print "url %s is currentPage ? %s"%(menulink['url'],menulink['isCurrentPage'])
...
url menu_1 is currentPage ? False
url menu_2 is currentPage ? True
url menu_3 is currentPage ? False
Офлайн
alexzander77Спасибо за ответ.>>> links = "menu_1,menu_2,menu_3".split(",")
>>> request_path='path/to/menu/menu_2/'
>>> menulinks= [{'isCurrentPage':request_path[:-1].endswith(L)} for L in links]
>>> map(lambda ml,l :ml.setdefault('url',l), menulinks,links)
['menu_1', 'menu_2', 'menu_3']
>>> menulinks
[{'url': 'menu_1', 'isCurrentPage': False}, {'url': 'menu_2', 'isCurrentPage': True}, {'url': 'menu_3', 'isCurrentPage': False}]
>>> for menulink in menulinks:
... print "url %s is currentPage ? %s"%(menulink['url'],menulink['isCurrentPage'])
...
url menu_1 is currentPage ? False
url menu_2 is currentPage ? True
url menu_3 is currentPage ? False
Офлайн
pal201Я, как неспециалист, навскидку придумал только проверку на подстроку
Ведь есть решение наверно.
{% for menulink in menulinks %}
{{ menulink }}
{% if menulink in request_path %}
bingo! <br>
{% endif %}
{% endfor %}
>>> from django.template import loader
>>> from django.template import Context
>>> request_path=u"/path/yo/menu/menu_2/"
>>> menulinks=["menu_1","menu_2","menu_3"]
>>> loader.get_template("base.html").render(Context({"menulinks":menulinks,"request_path":request_path}))
u'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"\n
....
....
<!-- content block-->
menu_1\n
menu_2\n \n bingo! <br>
menu_3\n
...
<!-- footer block-->\n footer\n \n</div>\n</div>\n</body>\n</html>'
Офлайн