Уведомления Django 2.0: Как переписать страницу list.html по умолчанию для уведомлений django

Итак, я недавно импортировал Django-уведомления и успешно добавил уведомление или два. Теперь я хочу посмотреть на страницу списка. В мои URL я добавил конечную точку уведомления path('notifications/', include("notifications.urls")), и когда я иду на URL, я получаю вывод, который соответствует документации:

Теперь, как мне изменить URL-адрес уведомления. Я пытался создать приложение для уведомлений python manage.py startapp notifications, но он сказал, что один уже существовал. Я чувствую, что упускаю что-то простое, но я не могу это понять.

0 ответов

Вы не можете создать свое собственное приложение, notificationsпотому что у вас уже есть установленное приложение под названием notifications, Это приложение, которое вы скачали / установили и добавили в your_project/settings.py под INSTALLED_APPS

Чтобы просмотреть список по умолчанию, вы можете python manage.py runserverи перейдите к localhost:8000/notifications/' to see the defaultlist.html`.

Оттуда я рекомендую создать свой собственный список. Посмотрев документацию здесь, вы найдете все методы QuerySet. Вы можете построить представление на основе этих запросов. например your-app/views.py:

...

# Get all unread notifications for current user.
def unread_notifications(request):
    context = {
        'notifications': request.user.notifications.unread()
    }

    return render(request, 'your-app/unread_notifications.html', context)

И ваш your-app/unread_notifications.html (при условии начальной загрузки):

<ul class="notifications">
    {% for notice in notifications %}
    <div class="alert alert-block alert-{{ notice.level }}">
        <a class="close pull-right" href="{% url 'notifications:mark_as_read' notice.slug %}">
            <i class="icon-close"></i>
        </a>

        <h4>
            <i class="icon-mail{% if notice.unread %}-alt{% endif %}"></i>
            {{ notice.actor }}
            {{ notice.verb }}
            {% if notice.target %}
            of {{ notice.target }}
            {% endif %}
        </h4>

        <p>{{ notice.timesince }} ago</p>

        <p>{{ notice.description|linebreaksbr }}</p>

        <div class="notice-actions">
            {% for action in notice.data.actions %}
            <a class="btn" href="{{ action.href }}">{{ action.title }}</a>
            {% endfor %}
        </div>
    </div>
    {% endfor %}
</ul>
Другие вопросы по тегам