Django自定义列表 models字段显示方式


Posted in Python onApril 03, 2020

Models.py中

class article(models.Model):
 id = models.AutoField(primary_key=True,verbose_name ='编号')
 title = models.CharField(max_length=100,verbose_name ='标题')
 content = models.CharField(max_length=20000,verbose_name ='正文')
 create_time = models.DateTimeField(verbose_name ='创建时间')
 change_time = models.DateTimeField(verbose_name ='修改时间')
 excerpt = models.CharField(max_length=200,blank=True,verbose_name ='摘要')

 type = models.ForeignKey(category,verbose_name ='类别')
 tags = models.ManyToManyField(tags,blank=True,verbose_name ='标签')

 class Meta:
  verbose_name = '文章列表'
  verbose_name_plural = '文章列表'

 def __str__(self):
  return self.title

我们可以在这基础上改进,添加其它字段,从而改变django后台admin 数据库列表字段的显示。 这个页面应该提供便利,比如说:在这个列表中可以看到编号,标题,发布时间。如果能按照编号,发布时间来排序,那就更好了。

为了达到这个目的,我们将为articel模块定义一个ModelAdmin类。 这个类是自定义管理工具的关键,其中最基本的一件事情是允许你指定列表中的字段。 打开admin.py并修改:

from django.contrib import admin
from .models import category,tags,article

# Register your models here.

class articleAdmin(admin.ModelAdmin):
 list_display = ('id','title','create_time','change_time','type') #添加字段显示
 search_fields = ('title','create_time') #添加快速查询栏

admin.site.register(category)
admin.site.register(tags)
admin.site.register(article,articleAdmin)

补充知识:Django----将列表按照一定的顺序展示

1、要求:按照文章的时间降序排列,并且只展示前5篇文章

2、需要用到:list的切片知识

###改造view.py中的视图方法

#列表页
def get_article(request):
 article_list = Article.objects.all();
 #按照文章时间排序(并且是降序排列)
 order_3_list=Article.objects.order_by('-articel_date')[:3]------------->使用order_by('字段名称'),order_by('-字段名称')【前面加一个减号,表示降序】
 page=request.GET.get('page');
 if page:
  page=int(page);

 else:
  page=1;
 print('PAGE 参数为:',page);

 #实例化一个分页组件,第一个参数是需要被分页的列表,第二个参数是每一个的item个数
 paginator=Paginator(article_list,2);
 #page方法,传入一个参数,表示第几页的列表,这边传入的page,是你在地址中写的参数
 page_article_list=paginator.page(page);
 page_num=paginator.num_pages
 print('page_num:',page_num);
 #判断是否存在下一页
 if page_article_list.has_next():
  next_page=page+1;

 else:
  next_page=page;
 if page_article_list.has_previous():
  previous_page=page-1;
 else:
  previous_page=page;

 return render(request,'index.html',{
  'article_list':page_article_list,
  "order_3_list":order_3_list,--------------->把这个东西传回前端
  'page_num':range(1,page_num+1),
  'curr_page':page,
  'next_page':next_page,
  'previous_page':previous_page
 })

#前端改造

 <div class="col-md-3" role="complementary">
  <div><h2>持续更新中......</h2>
   {% for article in order_3_list %}

   <h4><a href="get_detail/{{ article.article_id }}" rel="external nofollow" >{{article.article_title}}</a></h4>
   {% endfor %}

  </div>

查看结果,调试正常,加油?(^ω^)?

以上这篇Django自定义列表 models字段显示方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 正则式 概述及常用字符
May 07 Python
Windows8下安装Python的BeautifulSoup
Jan 22 Python
Python写的Tkinter程序屏幕居中方法
Mar 10 Python
python输入错误密码用户锁定实现方法
Nov 27 Python
python使用epoll实现服务端的方法
Oct 16 Python
实例讲解Python3中abs()函数
Feb 19 Python
Python----数据预处理代码实例
Mar 20 Python
django数据模型on_delete, db_constraint的使用详解
Dec 24 Python
python如何编写win程序
Jun 08 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
Jun 28 Python
python 抓取知乎指定回答下视频的方法
Jul 09 Python
python 破解加密zip文件的密码
Apr 22 Python
使用Django清空数据库并重新生成
Apr 03 #Python
Python基础类继承重写实现原理解析
Apr 03 #Python
Django实现列表页商品数据返回教程
Apr 03 #Python
Python第三方库的几种安装方式(小结)
Apr 03 #Python
在PyTorch中使用标签平滑正则化的问题
Apr 03 #Python
pip install 使用国内镜像的方法示例
Apr 03 #Python
pycharm解决关闭flask后依旧可以访问服务的问题
Apr 03 #Python
You might like
PHP解析html类库simple_html_dom的转码bug
2014/05/22 PHP
使用Thinkphp框架开发移动端接口
2015/08/05 PHP
利用php输出不同的心形图案
2016/04/22 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
解决IE6的PNG透明JS插件使用介绍
2013/04/17 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
jQuery获取对象简单实现方法小结
2014/10/30 Javascript
原生JS实现美图瀑布流布局赏析
2015/09/07 Javascript
javascript实现禁止复制网页内容汇总
2015/12/30 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
JS实时弹出新消息提示框并有提示音响起的实现代码
2016/04/20 Javascript
搞定immutable.js详细说明
2016/05/02 Javascript
JS利用cookies设置每隔24小时弹出框
2017/04/20 Javascript
babel的使用及安装配置教程
2018/02/22 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
2018/05/01 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
原生js生成图片验证码
2020/10/11 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
python实现Decorator模式实例代码
2018/02/09 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
python3转换code128条形码的方法
2019/04/17 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
2020/01/14 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
2020/03/10 Python
python中类与对象之间的关系详解
2020/12/16 Python
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
Lampenwelt德国:欧洲领先的灯具和照明在线商店
2018/08/05 全球购物
采购主管工作职责
2013/12/12 职场文书
优秀员工自荐书
2013/12/19 职场文书
食品厂厂长岗位职责
2014/01/30 职场文书
社区党建工作方案
2014/06/10 职场文书
质量保证书
2015/01/17 职场文书
党员违纪检讨书
2015/05/05 职场文书
师德师风主题教育活动总结
2015/05/07 职场文书
家长会开场白和结束语
2015/05/29 职场文书