这是吕召刚Django课程的第6个视频,大神就是大神。
他的代码,我好多都不是很懂。先写笔记吧。
这个视频是为了优化前面的一个视频,实现
- 自动提交职位信息的创建人,创建时间,修改时间
- 后台显示职位的详细信息
分为如下几个大步骤
1. 修改 recuitment/models.py,
- from datetime import datetime
- 设置created_date 为当前创建时间 default = datetime.now
- 设置 modified_date为当前修改时间 default=datetime.now
from datetime import datetime
# Create your models here.
class Job(models.Model):
created_date = models.DateTimeField(verbose_name="创建日期",default=datetime.now)
modified_date = models.DateTimeField(verbose_name="修改时间",default=datetime.now)
2. 修改 recuitment/admin.py ,在后台工作展示页中显示: 职位名称,工作地点,职位类别,职位职责,创建人,创建日期,修改日期, 添加和修改职位时自动提交当前的用户
- 创建 JobAdmin(admin.ModelAdmin):函数
- exclude = (‘creator’,'created_date','modified_date') 在添加和修改的工作页面时,隐藏creator,created_date, modified_date
- list_display = ('job_name','job_city','job_type','job_responsibility','creator','created_date','modified_date') , list_display 还一个函数,表示后面列表中的数据,都将在后台页面中显示。(之前显示的是object1)
-
def save_model(self, request, obj, form, change):
obj.creator = request.user
super().save_model(request, obj,form,change)
这个部分看不懂,直接背。
*obj.creator = request.user 便是修改的时候,提交当前用户
- 在管理后台注册JobAdmin
- admin.site.register(Job,JobAdmin)
from django.contrib import admin
from jobs.models import Job
# Register your models here.
class JobAdmin(admin.ModelAdmin):
exclude = ('creator', 'created_date','modified_date')
list_display = ('job_name','job_city','job_type','job_responsibility','creator','created_date','modified_date')
def save_model(self, request, obj, form, change):
obj.creator = request.user
super().save_model(request, obj,form,change)
admin.site.register(Job,JobAdmin)
效果图
添加工作信息
工作信息显示
7分多钟的视频,笔记写了45分钟。
加油,不负时光。