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中列表、字典、元组数据结构的简单学习笔记
Mar 20 Python
Python中的descriptor描述器简明使用指南
Jun 02 Python
Python的地形三维可视化Matplotlib和gdal使用实例
Dec 09 Python
Python KMeans聚类问题分析
Feb 23 Python
利用Python求阴影部分的面积实例代码
Dec 05 Python
python发送多人邮件没有展示收件人问题的解决方法
Jun 21 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
Jul 31 Python
python使用pymongo与MongoDB基本交互操作示例
Apr 09 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
Apr 22 Python
基于Tensorflow一维卷积用法详解
May 22 Python
Python+PyQt5+MySQL实现天气管理系统
Jun 16 Python
基于Python实现射击小游戏的制作
Apr 06 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对称加密算法示例
2014/05/07 PHP
destoon实现VIP排名一直在前面排序的方法
2014/08/21 PHP
jQuery EasyUI中对表格进行编辑的实现代码
2010/06/10 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
javascript根据像素点取位置示例
2014/01/27 Javascript
node.js中的fs.fchmodSync方法使用说明
2014/12/16 Javascript
jquery插件NProgress.js制作网页加载进度条
2015/06/05 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
2016/07/28 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
AngularJs入门教程之环境搭建+创建应用示例
2016/11/01 Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
2017/02/16 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
解决Vue不能检测数组或对象变动的问题
2018/02/24 Javascript
vue.js使用v-pre与v-html输出HTML操作示例
2018/07/07 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
2019/03/05 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
Python爬虫之模拟知乎登录的方法教程
2017/05/25 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
Django中的FBV和CBV用法详解
2019/09/15 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
pytorch 把图片数据转化成tensor的操作
2021/03/04 Python
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
中国最大的名表商城:万表网
2016/08/29 全球购物
餐厅总厨求职信
2014/03/04 职场文书
无子女夫妻离婚协议书(4篇)
2014/10/20 职场文书
技术股东合作协议书
2014/12/02 职场文书
2015年党员承诺书
2015/01/21 职场文书
感谢信模板大全
2015/01/23 职场文书
故意伤害辩护词
2015/05/21 职场文书
网吧管理制度范本
2015/08/05 职场文书
2019思想汇报范文
2019/05/21 职场文书
Django使用redis配置缓存的方法
2021/06/01 Redis
用Python仅20行代码编写一个简单的端口扫描器
2022/04/08 Python