博客
关于我
强烈建议你试试无所不能的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

你可能感兴趣的文章
java基本数据类型
查看>>
java面向接口编程之适配器模式
查看>>
testparm - 检查smb.conf配置文件的内部正确性
查看>>
iOS开发UI篇—UITabBarController简单介绍
查看>>
MAC OX 配置JDK环境变量
查看>>
数据结构与算法自学系列之动态规划(一)
查看>>
《团队-----吃货之家------项目总结》
查看>>
在Android迷你广告上添加浮动的关闭按钮
查看>>
python之HTMLParser解析HTML文档
查看>>
Attach、Detach和DeleteObject
查看>>
JSON跨域解决方案收集
查看>>
Oracle Database 12c 新特性 - Pluggable Database
查看>>
小白爬坑的第一天:Oracle数据库版本11g在Linux无图形界面下的静默安装。
查看>>
51nod 1444 破坏道路(任意两点最短路径)
查看>>
串口上位机程序编写
查看>>
kindeditor上传图片时候,上传成功了,但是页面上却提示失败
查看>>
九度OJ-1001-A+B矩阵-有些小技巧
查看>>
golang之if
查看>>
【转】linux dumpe2fs命令
查看>>
坚持不懈的学习吧,少年
查看>>