django博客项目

80 阅读1分钟

查询所有文章,完成文章列表在前端的展示

1.查询所有文章

2.将查询结果返回到前端

def newList(request):
    articles = Article.object.order_by("-time")
    return render_to_response("newList.html",locals())

3.前端调用循环渲染数据

{% if articles %}
    {% for article in articles %}
        <li>
            <ul>
                <h2><a href="/new/{{ article.id }}/">{{ article.title }}</a></h2>
                <p>{{ article.description }}</p>
                <span>{{ article.time }}</span>
           </ul>
            <a href="/new/{{ article.id }}/"><img src="/static/{{article.picture }}"></a>
        </li>
    {% endfor %}
{% else %}
    <p>抱歉,这家伙很懒什么都没有留下</p>
{% endif %}

4.根据列表页提供的id跳转到详情页

urls.py

urlpatterns =  [

             re_path(r"^$",index),

             re_path(r"new/(?P<id>\d{1,3})",new)  
   ]

views.py

def new(request,id):
    id = int(id)
    article = Article.objects.get(id = id)
    return render_to_response("new.html",{"article":article})

  5.返回前端

new.html


  <h2><span>您现在的位置是:<a href="/" target="_blank">网站首页</a>>><a href="#"target="_blank">信息浏览</a></span><b>个人简介</b></h2>
    <p class="a_title">{{ article.title }}</p>
    <p class="p_title"></p>
    <p class="box_p"><span>发布时间:{{ article.time }}</span><span>作者:{{ article.author.name }}</span></p>
  <ul class="about_content">
    <p> {{ article.content }}</p>
    <p><img src="/static/{{ article.picture }}"></p>
  </ul>
</div>