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

你可能感兴趣的文章
设计模式——设计模式概述
查看>>
封装一个获取module.exports内容的方法
查看>>
动态连接库
查看>>
ServletContext 与application的异同
查看>>
水平垂直居中
查看>>
CSS3教程:border-image属性
查看>>
asp.netmvc常见功能链接
查看>>
sql server系统表详细说明
查看>>
SQL Server 2008连接字符串写法大全
查看>>
sql server 使用链接服务器远程查询
查看>>
JavaScript中的继承
查看>>
MySQL简介
查看>>
设计模式之桥接模式(Bridge)
查看>>
转:探讨跨域请求资源的几种方式
查看>>
jquery的$(document).ready()和onload的加载顺序
查看>>
Python Web框架Django (五)
查看>>
.net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串------(转)...
查看>>
Android 开发 ThreadPool(线程池) 总结
查看>>
【poj1568】 Find the Winning Move
查看>>
【codevs1033】 蚯蚓的游戏问题
查看>>