Django 开发学习笔记(7)- 开发特定主题显示的页面

这一节其实没有什么新的知识,我们只是把开发页面的一般流程再和大家重复一下。
1、在 learning_logs 模块配置 urls
2、编写 views
3、编写模板 topic.html

下面是具体编写步骤:
1、在 learning_logs 模块配置 urls

url(r'^topic/(?P<topic_id>\d+)$',views.topic,name='topic')

2、编写 views

def topic(request, topic_id):
    """显示单个话题以及所有的条目"""
    topic = Topic.objects.get(pk=topic_id)
     # 还记得我们在 shell 那一节做的测试吗? 这个 entry_set 其实是一个字符串拼接
    entries = topic.entry_set.order_by("-date_added")
    context = {'topic': topic, "entries": entries}
    return render(request, "blog/topic.html", context)

知识点:

entries = topic.entry_set.order_by("-date_added")

“-date_added” 表示按照 “date_added” 这个字段降序排序。

3、编写模板 topic.html

{% extends 'blog/base.html' %}

{% block content %}

    当前显示的话题:{{ topic }}

    <ul>
        {% for entry in entries %}
            <li>
                <p>添加日期:{{ entry.date_added | date:'M d,Y H:i' }}</p>
                正文内容:<p>{{ entry.text | linebreaks }}</p>
                <p>关键字:{{ entry.key_words }}</p>
            </li>

        {% empty %}
            <li>在当前话题下还没有博客文章被创建。</li>
        {% endfor %}
    </ul>

{% endblock content %}

知识点:
1、格式化日期字符串:添加日期:{{ entry.date_added | date:'M d,Y H:i' }}
2、{{ entry.text | linebreaks }}

最后,在显示所有话题列表的页面 topics.html ,添加到单个话题的链接。

{% extends 'blog/base.html' %}

{% block content %}

    <ul>
        {% for topic in topics %}
            <li>
                <a href="{% url 'blog:topic' topic.id %}">{{ topic }}</a>
            </li>

        {% empty %}
            <li>话题没有被创建。</li>

        {% endfor %}
    </ul>

{% endblock content %}

知识点:这样表示链接:{% url 'blog:topic' topic.id %}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值