查询所有文章,完成文章列表在前端的展示
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>