自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (3)
  • 收藏
  • 关注

原创 过滤器django-filter的使用

所有filter类都继承自filters.FilterSet在class Meta中指定model为Project。code为charField类型,所以可以定义搜索类型为icontains,即为大小写不敏感(见63.ORM查询条件详解:contains和icontains-CSDN博客owner和creater为指向User模型的外键,可以进行多选,所以filter类型为ModelMultipleChoiceFilter,并且要指定queryset和field_name。

2024-02-21 23:04:57 290

原创 ModelForm的使用

Django的ModelForm,被用来新建或修改一个model对象,使用起来还是很方便的,基本的方法这里不再说明,本文只记录一些我在做项目中有使用到的,有用但零散的东西。先贴一段完整的ModelForm代码。

2024-02-21 22:36:47 540

原创 自定义模板filter和simple_tag

在这里编写自定义逻辑自定义 simple_tag的主要是因为model中定义的function在html模板中调用时无法传递参数(不知道有没有别的办法)

2024-02-21 18:01:52 131

原创 自定义中间件记录用户登录信息

在项目的app目录下,新建文件夹mymiddleware,再新建middleware.py文件,内容如下。查阅资料后,了解到可以自定义Django中间件,在中间件中对登录动作进行记录。前面讲到使用LogEntry记录用户的操作已经实现,但用户登录无法记录。在setting的MIDDLEWARE中增加自定义的中间件。

2024-02-21 17:25:07 205

原创 url name的统一格式设计

在这个项目的20多个模型中,都需要使用查看列表,新建对象,查看对象详情,编辑对象,删除对象这5个方法,对应的需要有这5个view函数。以Project来举例,定义url如下(delet暂时没有去实现)每个url,都定义了一个name,这个name和view的名字相同(也可以不相同)。按一般做法,在Project这个model里,定义一个function 叫 get_absolute_url。为了简化,我的项目里把get_absolute_url换成了get_url。

2024-02-21 17:14:24 279

原创 操作历史记录-LogEntry模型

自定义一个class,封装一个log_change_status,可以方便的记录一个object的某个field值的变更。系统需要记录一些用户的操作,涉及人员,时间,对象,动作。如谁什么时候完成了某个任务,谁什么时候将一个项目的状态修改了等。在modelCommon中定义了get_history_logs这个function,返回这个对象的所有历史记录。自带的LogEntry是没有note这个field的,note是为了给一条历史记录增加简单备注增加的。我选用了Django自带的LogEntry模型。

2024-02-21 15:48:46 96

原创 通用数据(简单数据)模型设计

在大部分的业务类型的model中,有的type,status,priority等field,比如产品的类型,项目的类型,需求的类型,项目的状态,优先级等等。这些数据一般都是可设置项,并且用户可以自定义这些数据。原来是不同的model里的type,单独定义一个model,一个status或priority,后面这种model越来越多。这些model一般都很简单,总结这些model的共性后,将这些model都统一为一个model。

2024-02-21 11:46:51 585

原创 扩展Group模型

Django有自带的Group模型,但和User模型一样,自带的Group模型也无法满足我的项目需求。

2024-02-21 09:45:12 388

原创 扩展用户模型User

User模型完全是按照英文体系设计的,有first name,last name用于录入名和姓,username是账号,用于认证的。查找资料后发现Django的User模型可以扩展,在自己的项目app内定义一个User模型,继承AbstractUser即可,再增加自己想要的属性。定义完自己的User模型后,系统并不会就使用这个模型,还要在setting.py设置一下,加入如下一条。Django自带用户模型User,可用于认证登录,权限设置,分组设置等功能。但原始的用户模型User不能完全满足我的项目需求。

2024-02-21 09:24:16 148

原创 Attachment——附件模型

和Remark模型类似的,也是使用ContentType的方法,这样任何其他模型都可以轻松关联附件了。

2024-02-20 18:18:14 85

原创 Remark——备注模型

一开始时,项目不大,要使用备注的模型不多,就3-5个左右,用这种方法还是能够接受的。但随着需要使用备注的模型越来越多,我就对这种设计越来越不爽,因为每新增一个新的模型,就要在Remark模型中新增一个外键,但一直没有找到什么好的方法。在众多业务相关的模型中,如Product,Project都有进行备注的需求,而且备注是多条的,即Product或Project等和备注是一对多的关系。项目在刚开始的时候,定义Remark模型,并在Remark模型中定义和其他需要备注功能的模型的外键,实现一对多的关系。

2024-02-20 18:12:37 280

原创 基础类CommonModel

简单的理解,就是ContentType是Django内置的一个model,用ContentType可以管理所有其他我们建立的model,我们设计的model,在执行数据库迁移后,ContentType都会进行记录,记录我们建立的model的类型,id什么的。CommonModel里的get_contentType这个function就是获取一个对象实例的contentType,get_ctid就是获取 contentType的id。

2024-02-20 16:39:50 132

NIOS ii 与CC2530的SPI相连接程序

创建了sopc系统,可以在DE2板上跑,直接与CC2530芯片相连进行SPI通信,sopc接收到的信息可以在1602上显示出来。

2011-05-19

DS18b20温度传感器中文资料

这是比较常用的温度传感器DS18b20的中文资料

2009-04-20

Modelsim 6.0C se的License

可以用来生成Modelsim 6.0C se的License,破解之后可以正常使用Modelsim 6.0

2009-04-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除