Показать список сообщений в другом URL - PullRequest
0 голосов
/ 01 ноября 2019

Приложение Django Blog поставляется из коробки index.html , где оно показывает список всех сообщений.

Мне нужно показать этот список в новом URL, когда яскопируйте html-код из index.html и вставьте его в planoacao.html , он ничего не показывает.

Это index.html:

 {% for post in post_list %}
                <div class="card mb-4" style="width: 18rem; ">
                    {% if post.get_finalizado_display  == 'Não' %}
                    <!--<p class="card-text text-muted h6"> NOK </p>-->
                    <div class="card-body" style="background-color:#FF0909;">
                    {% else %}
                    <!--<p class="card-text text-muted h6"> ok </p>-->
                    <div class="card-body">
                    {% endif %}
{% endfor %}

Это мои views.py:

from django.views import generic
from .models import Post

class PostList(generic.ListView):
    queryset = Post.objects.filter(status=1).order_by('-created_on')
    template_name = 'index.html'

class PostDetail(generic.DetailView):
    model = Post
    template_name = 'post_detail.html'

class Calendar(generic.DetailView):
   model = Post
   template_name = 'calendar.html'

class Planoacao(generic.DetailView):
   model = Post
   template_name = 'planoacao.html'

Это мои urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls')),
    url(r'^planoacao/', TemplateView.as_view(template_name="planoacao.html")),
    url(r'calendar', TemplateView.as_view(template_name="calendar.html")),
    url(r'^admin/', admin.site.urls),
    url(r'^', include('blog.urls'), name="Blog"),
    ] + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)

Как мне показать список всех сообщений в другом URL? xxx / planoacao.html? Простое копирование html из index.html не работает.

Обратите внимание, что я не хочу изменять обычный список сообщений index.html, я просто хочу добавить вторую страницу списка сообщений.

1 Ответ

1 голос
/ 01 ноября 2019

Кажется, вы хотите показать PostList представление на /planoacao, поэтому в urls.py вы можете подключить этот путь к этому представлению:

url(r'^planoacao/', PostList.as_view()),

Обратите внимание, что в Django нетпрямая связь между путем представления и используемым шаблоном. Вы можете использовать любой шаблон с любым путем, все, что вам нужно сделать, это определить, какой шаблон использовать в представлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...