Задать вопрос

Каким образом задаются ссылки в Django?

Есть вот такая html навигация(пока только верстка)

<ul class="nav navbar-nav">
                            <li class="active"><a href="index">Главная<span class="sr-only">(current)</span></a></li>
                            <li class="dropdown">
                                <a href="blog" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">О нас<span class="caret"></span></a>
                                <ul class="dropdown-menu" role="menu">
                                    <li><a href="about.html">О нас</a></li>
                                    <li><a href="photo.html">Фото</a></li>
                                    <li><a href="blog">Блог</a></li>
                                </ul>
                            <li class="dropdown">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Цены <span class="caret"></span></a>
                                <ul class="dropdown-menu" role="menu">
                                    <li><a href="#">Прайс-лист</a></li>
                                    <li><a href="#">Наши услуги</a></li>
                                </ul>
                            </li>
                            <li><a href="contacts.html">Контакты</a></li>
                        </ul>


Каким образом в django задается ссылка между шаблонами? К примеру находясь на странице blog и нажимая на главную, он не перебрасывает на index, он плюсует index к общей строке и получается что то типа mysite/blog/index

Версия Django 1.8, Python 3.4
  • Вопрос задан
  • 5780 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
sim3x
@sim3x
Методология MVT предполагает максимальное разделение сущностей

Template только показывает, то ему приказывает показать View, которое в свою очередь берет данные из Model

Те тебе нужно написать в urls.py правила резолвинга View
# ....
url(r'^$', index_view, name='index'),
# ...


в app/views.py написать вью, которые вызывают templates/*.html
def index_view(request):
    return render(request, 'index.html')


Потом в темплейте
...
<a href="{% url "index" %}">
...
Ответ написан
Комментировать
dizballanze
@dizballanze
Software developer at Yandex
Django тут не при чем, просто указывайте адреса начинающиеся с /: /index и т.д.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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