博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3.博客系统| 设计系统首页(文章列表渲染)
阅读量:5226 次
发布时间:2019-06-14

本文共 5114 字,大约阅读时间需要 17 分钟。

 

设置系统首页(文章列表渲染)

系统首页的导航区域| 主体布局| admin |首页文章列表的渲染

 1.系统首页的导航区域

re_path('^$',views.index),  #在首页不用index也可以显示出。在url里边设置了这个,可以直接访问127.0.0.1:8000,可不加index

 

index.html

bootstrap里边的导航组件:https://v3.bootcss.com/components/

index.html

    
Title
//引入css //引入jquery,bootstrap依赖于jquery。 //引入bootstrap {#

{
{ request.user.username}}

#}

 view.py

def logout(request):  #注销函数    auth.logout(request) #request.session.flush() 把对应提交的名字给删掉了    return redirect("/login/")

 

 2.系统首页的主题布局

 主体其他部分,加栅格栏

index.html
//分块的,这一部分给它加个bootstrap的面板
Panel heading without title
Panel content
Panel heading without title
Panel content
Panel heading without title
Panel content
222
Panel heading without title
Panel content
Panel heading without title
Panel content

3.admin的使用 

在数据库article里边要有文章,拿到所有的文章列表渲染到index页面。从数据库插入数据:方式一navicat,方式二sql直接插入,

方式三利用django的admin组件通过web的方式。

admin:(不是必须的)

  Django内部的一个组件:后台数据管理组件(web页面)

   python manage.py createsuperuser   针对用户认证组件对应的用户表userinfo ;is_superuser--> 1来确认你是否是超级用户

必须用超级用户才能登录admin(django自动创建的)

admin.py

from django.contrib import admin# Register your models here.#登录之后写注册信息;8张表from blog import modelsadmin.site.register(models.UserInfo)admin.site.register(models.Blog)admin.site.register(models.Category)admin.site.register(models.Tag)admin.site.register(models.Article)admin.site.register(models.ArticleUpDown)admin.site.register(models.Article2Tag)admin.site.register(models.Comment)

 4.基于admin录入文章数据

直接在admin里边操作,在Articles里边添加三篇文章

Blogs绑定两个对象

在user表里绑定一对一的关系。alex、egon、kris,他们所对应的Blog(草liu社区、egon的个人博客)。

在article表里添加文章信息,给它添加文章分类Category。

5.首页的文章列表的渲染

访问index时候在它所对应的视图中拿到所有的article列表,交给所对应的模板去渲染。

views.py

def index(request):    article_list = models.Article.objects.all()  #拿到数据    return render(request, "index.html", {
"article_list": article_list}) #传到模板里边

index,html

头像是在admin/blog/userinfo设置.

    
Title
.....................
...
{% for article in article_list %}
{ { article.title }}
//文章标题
//拿到avatar的相对路径的头像(userinfo表里) //上边那个相对路径是在media文件夹里边,必须配上这个media才能访问到。
{ { article.desc }} //文章内容摘要
//发布信息
{ { article.user.username }}    
发布于  { { article.create_time|date:"Y-m-d H:i" }}    //要设置下时区settings-->>TIME_ZONE="Asia/shanghai"
评论({ { article.comment_count }})    //加个图标,评论数
点赞({ { article.up_count }}) //点赞图标,点赞数
{% endfor %}
...

 

转载于:https://www.cnblogs.com/shengyang17/p/9403867.html

你可能感兴趣的文章