溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

django 之個(gè)人主頁(yè)框架實(shí)現(xiàn)

發(fā)布時(shí)間:2020-07-29 12:33:13 來(lái)源:網(wǎng)絡(luò) 閱讀:1642 作者:kesungang 欄目:web開(kāi)發(fā)

上一節(jié)已經(jīng)學(xué)習(xí)了,如何給時(shí)間,標(biāo)簽,分類,來(lái)分類。這一節(jié)學(xué)習(xí)下如何把這些內(nèi)容寫到頁(yè)面上去
匹配url

url(r'^(\w+)/$', views.home),

創(chuàng)建home函數(shù)

from django.db.models import Count
def home(request,site):
    blog = models.Blog.objects.filter(site=site).first()
    if not blog:
        return redirect('/')
    category_list = models.Article.objects.filter(blog=blog).values('category_id','category__title').annotate(ct=Count('nid'))

    tag_list = models.Article2Tag.objects.filter(article__blog=blog).values('tag_id','tag__title').annotate(ct=Count('id'))

    date_list = models.Article.objects.filter(blog=blog).extra(select={'ctime':"strftime('%%Y-%%m',create_time)"}).values('ctime').annotate(ct=Count('nid'))

    article_list = models.Article.objects.all()

    #return HttpResponse('......')

    return render(
        request,
        'home.html',
        {
            'blog':blog,
            'category_list':category_list,
            'tag_list':tag_list,
            'date_list':date_list,
            'article_list':article_list
        }
    )

創(chuàng)建home頁(yè)面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/static/css/theme/{{ blog.theme }}.css">
</head>
<body>
<div>{{ blog.title }}--{{ blog.user.nickname }}</div>
<div class="c1">
    <h4>文章分類</h4>
    <ul>
        {% for category in category_list %}
            <li><a href="{{ category.category_id }}">{{ category.category__title }}({{ category.ct }})</a></li>
        {% endfor %}
    </ul>
</div>
<div class="c2">
    <h4>標(biāo)簽分類</h4>
    <ul>
        {% for tag in tag_list %}
            <li><a href="{{ tag.tag_id }}">{{ tag.tag__title }}({{ tag.ct }})</a></li>
        {% endfor %}

    </ul>
</div>

<div>
    <h4>時(shí)間標(biāo)簽</h4>
    <ul>
        {% for date in date_list %}
        <li><a href="{{ date.ctime }}">{{ date.ctime }}({{ date.ct }})</a></li>
        {% endfor %}

    </ul>
</div>
<div>
    {% for article in article_list %}
        <div>
            <a href="{{ article.title }}"></a>
            <div>{{ article.summary }}</div>
        </div>

    {% endfor %}

</div>
</body>
</html>

預(yù)覽
django 之個(gè)人主頁(yè)框架實(shí)現(xiàn)

在主題里面通過(guò)link導(dǎo)入不同的css文件,給每個(gè)人設(shè)置不同的樣式
django 之個(gè)人主頁(yè)框架實(shí)現(xiàn)

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI