博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
日记-2017-7-25-django/admin-Levenshtein
阅读量:5248 次
发布时间:2019-06-14

本文共 1921 字,大约阅读时间需要 6 分钟。

0725

  • django-admin 简介| 注册-排序-显示-list_display修改
  • 字符串模糊比较

django-admin

django admin 是 django 提供的非常好用的后台管理功能

参考资料:

介绍几个基本入门的功能

1、注册

注册有两种方法

from django.contrib import adminfrom .models import CinemaUrl, Cover# Register your models here.# 第一种admin.site.register(Cover)# 第二种@admin.register(CinemaUrl)class CinemaAdmin(admin.ModelAdmin):    pass

第一种注册方法用于初期快速验证想法用,常用的更多的是第二种,可以按照一定的需求修改后台管理方法。

之后的方法也是基于第二种方法开展

2、list_display

在一个 model 下面可能有很多字段,我们希望能够在一个页面能够显示更多的信息,所以使用了 list_display

(app.)models.py

class CinemaUrl(models.Model):    city = models.CharField('城市', max_length=50)    district = models.CharField('区/县', max_length=255)    location = models.CharField('详细地址', max_length=255, default='')    cinema_name = models.CharField('电影院名', max_length=255, default='')    created_time = models.DateTimeField('创建时间', auto_now_add=True)    is_active = models.BooleanField('是否有效', default=True)    view_count = models.IntegerField('访问次数', default=0)    code = models.IntegerField('索引码')

(app.)admin.py

@admin.register(CinemaUrl)class CinemaAdmin(admin.ModelAdmin):    list_display = ('city', 'district', 'location', 'cinema_name', 'view_count', 'code')

在网站上的显示如下

1185740-20170725210747904-171694123.png

3、排序

ordering 不仅能对时间排序,还可以对其他字段排序

排序:

ordering = ('created_time', )

4、修改 list_display 下的字段

使用 list_edible 可以对显示的字段进行修改

@admin.register(Movie)class MovieAdmin(admin.ModelAdmin):    ordering = ('created_time', )    list_display = ('name', 'rating', 'directors', 'casts', 'genes', 'created_time', 'is_top', 'is_in_theater')    list_editable = ('is_top', 'is_in_theater')

在网站上显示如下

1185740-20170725210655373-347813979.png

以上几条是在 0725 使用到的技能,之后有新的需求再添加

字符串模糊查询

在做 电影票查询 项目中,从不同的网站爬下的数据各自有些区别,但最终希望合并几个网站的数据到一起

比如在不同网站上描述 '上海时代影城' 可能为 '时代影城', '时代影城(万乐城店)', '上海时代影城(万乐城店)',这样合并起来并不容易,在网上查找解决方案

找到了一个库

>>> import Levenshtein>>> Levenshtein.ratio('abc', 'abc')1.0>>> Levenshtein.ratio('abc', 'ascd')0.5714285714285714

所以,当使用上述函数判断两个字符串相似率大于0.7(经验值)时,断定两个字符串表达了同一个意思。

转载于:https://www.cnblogs.com/zx576/p/7236919.html

你可能感兴趣的文章
UVA 10976 - Fractions Again?!
查看>>
Dreamweaver cc新版本css单行显示
查看>>
【android】安卓的权限提示及版本相关
查看>>
JavaScript可否多线程? 深入理解JavaScript定时机制
查看>>
IOS基础学习
查看>>
Java基础教程——网络基础知识
查看>>
Kruskal基础最小生成树
查看>>
浅谈算法和数据结构: 一 栈和队列
查看>>
Java内部类详解
查看>>
【hdu 1429】胜利大逃亡(续)
查看>>
图论-次短路求法
查看>>
What's New for Visual C# 6.0
查看>>
ExtJs学习笔记之ComboBox组件
查看>>
关于收费软件
查看>>
getopt_long
查看>>
TensorFlow MNIST CNN 代码
查看>>
javascript之Style物
查看>>
JSON跨域解决方案收集
查看>>
图的深度优先遍历
查看>>
C# 之 提高WebService性能大数据量网络传输处理
查看>>