8_文章详情页面

文章详情页面

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

配置路由地址

article/urls.py

path('article_detail/<int:id>', views.article_detail, name='article_detail')

编写视图函数(Views)

article/views.py

def 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.

这样优化后,点击首页的文章标题,就进入到了文章的详情页面。
在这里插入图片描述

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

加油,你是最棒的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值