admin 管理员组

文章数量: 887055

8

文章详情页面

有了首页的文章展示,那么怎么可以看到文章的内容呢,也就是所谓的查看详情。

配置路由地址

article/urls.pypath('article_detail/<int:id>', views.article_detail, name='article_detail')

编写视图函数(Views)

article/views.pydef article_detail(request, id):article = Article.objects.get(id=id)context = {'article': article}return render(request, 'article_datail.html', context)

与之前的函数不同的是,多了一个id,即多了一个主键,在model中不声明主键时,Django会对每个表自动生成一个主键,也就是id。

Modelname.objects.get(id=id)为在Modelname中取出id值为传递参数的对象,即一篇文章。
这里需要很大的优化,我们以后再说。

Templates编写

 article_detail.html<div class="row"><!-- 标题及作者 --><h2 class="col-12 mt-4 mb-4">{{ article.art_title }}</h2><div class="col-12 alert alert-success">Author:{{ article.author }} &emsp;&emsp; Datetime:{{ article.created_time }}</div><!-- 文章正文 --><div class="col-12"><p>{{ article.art_body }}</p></div></div>

页面之间进行连接

前端页面优化

index.html{% for article in all_article %}<div class="row "><a href="{% url 'article:article_detail' article.id %}" class="text-muted"><h5>{{ article.art_title }}</h5></a></div><div class="row"><p>{{ article.created_time }}</p></div>{% endfor %}

href后的代码也可以更换为熟悉的/article/article_datail/{{article.id}},不过我上面的代码是我提倡的,就是前面所讲的nammspace+name.

这样优化后,点击首页的文章标题,就进入到了文章的详情页面。

这样,一个及其简单的博客的正删改查基本就实现了,再多多优化优化代码吧。前面所说的代码还有很大的优化空间呦!

加油,你是最棒的。

本文标签: 8