@Juvel1988

Как правильно обработать urls в Джанго, чтобы ссылка работала корректно?

Столкнулся со следующей проблемой. Создаю новостной ресурс. При переходе по ссылке cо страницы с новостным превью (news.html) на страницу с основной статьей (article.html), получаю ошибку 404.

60230bd6a5181638981779.png

urls.py

path('new/<el_id>', views.el, name='el'),#Вывод отдельной новости


views.py
def el(request, el_id): #Вывод отдельной новости
    article = News.objects.get(id=el_id)
    entries = el.entry_set.order_by('-date_added')
    context = {'el':el, 'entries': entries}
    return render(request, 'prosvet_logs/article.html', context)


news.html

{% extends "prosvet_logs/base.html" %}
{% block content %}
<div class="News">
    <h2>Новости:</h2>
    {% if new %}
        {% for el in new %}
    <div class="articles">
        <h3><a href="/{{ el.id }}">{{ el }}</a></h3>
        <p>{{ el.anons }}</p>
    </div>
        {% endfor %}
    {% else %}
        <p>Новостей нет</p>
    {% endif %}
</div>
{% endblock content %}


article.html

{% extends "prosvet_logs/base.html" %}
{% block content %}

<div class="article">
    <h2>{{ el }}</h2>
    {% if new %}
        {% for en in entries %}
        <p>{{ en.date_added|date:'M d, Y H:i' }}</p>
        <p>{{ entry.body|linebreaks }}</p>
        {% endfor %}
    {% else %}
    <p>Новостей нет</p>
    {% endif %}

</div>
{% endblock content}
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
Andrew_Pinkerton
@Andrew_Pinkerton
Не так страшны первые 99%, как оставшиеся 99%
В шаблоне не правильно урл указан, должно быть примерно так:

<a href="{% url 'url_name' news_id %}">ololo</a>

Документация
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AstraVlad
Финансист, консультант, программист-любитель
В урлс же стоит 'new/<el_id>', а в реальном урл просто /3, конечно они не совпадают.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
28 февр. 2021, в 01:35
200000 руб./за проект
28 февр. 2021, в 00:22
2500 руб./за проект
27 февр. 2021, в 22:14
30000 руб./за проект