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中使用Inotify监控文件实例
Feb 14 Python
Python脚本获取操作系统版本信息
Dec 17 Python
利用Python脚本生成sitemap.xml的实现方法
Jan 31 Python
python输入错误密码用户锁定实现方法
Nov 27 Python
基于python内置函数与匿名函数详解
Jan 09 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
Mar 23 Python
Python装饰器用法实例分析
Jan 14 Python
django 信号调度机制详解
Jul 19 Python
django 多对多表的创建和插入代码实现
Sep 09 Python
TensorFlow命名空间和TensorBoard图节点实例
Jan 23 Python
Win10环境中如何实现python2和python3并存
Jul 20 Python
Python爬虫教程之利用正则表达式匹配网页内容
Dec 08 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
不用iconv库的gb2312与utf-8的互换函数
2006/10/09 PHP
php csv操作类代码
2009/12/14 PHP
解析php中array_merge与array+array的区别
2013/06/21 PHP
php读取目录及子目录下所有文件名的方法
2014/10/20 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
一个可以增加和删除行的table并可编辑表格中内容
2014/06/16 Javascript
一个JavaScript用逗号分割字符串实例
2014/09/22 Javascript
nodejs中使用多线程编程的方法实例
2015/03/24 NodeJs
yui3的AOP(面向切面编程)和OOP(面向对象编程)
2015/05/01 Javascript
js获取iframe中的window对象的实现方法
2016/05/20 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
详解Vue监听数据变化原理
2017/03/08 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
es6 字符串String的扩展(实例讲解)
2017/08/03 Javascript
JavaScript事件处理程序详解
2017/09/19 Javascript
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
2018/06/28 Javascript
微信小程序签到功能
2018/10/31 Javascript
微信小程序实现bindtap等事件传参
2019/04/08 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
python语音识别实践之百度语音API
2018/08/30 Python
零基础使用Python读写处理Excel表格的方法
2019/05/02 Python
Python如何向SQLServer存储二进制图片
2020/06/08 Python
IE10 Error.stack 让脚本调试更加方便快捷
2013/04/22 HTML / CSS
简述数组与指针的区别
2014/01/02 面试题
公司庆典邀请函范文
2014/01/13 职场文书
2014小学生国庆65周年演讲稿
2014/09/21 职场文书
龙猫观后感
2015/06/09 职场文书
GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
2021/06/15 Javascript
Python面向对象之成员相关知识总结
2021/06/24 Python