显示其他网址中的帖子列表

时间:2019-11-01 16:15:43

标签: python django

Django Blog APP带有一个现成的 index.html ,其中显示了所有帖子的列表。

当我从 index.html 复制html代码并将其粘贴到 planoacao.html 时,我需要在新的URL中显示此列表。任何东西。

这是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?仅从index.html复制html无效。

请注意,我不想更改常规的index.html帖子列表,我只想添加第二个帖子列表页面。

1 个答案:

答案 0 :(得分:1)

似乎您想在PostList上显示/planoacao视图,因此在urls.py中,您可以将此路径连接到该视图:

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

请注意,在Django中,视图的路径与所使用的模板之间没有直接链接。您可以使用具有任何路径的任何模板,只需定义在视图中使用哪个模板即可。