# 自定义模型类 管理器使用方法
class BookInfoManager(model.Manager):
# 重写all
def all(self):
return self.filter(is_delete=False)
class BookInfo():
................
# 自定义模型类 objects将不再使用
query = BookInfoManage()
# 查询
BookInfo.query.all() # 查询所有 未被逻辑删除的数据
二、Django 表单和模板的使用
views.py
class IndexView(View):
context = {
"city":"beijing"
}
return render(request,"index.html",context)
urls.py
urlpattern = [
url(r"^booktest/$", views.IndexView.as_view())
]
setting.py
urlpattern=[
url(r"^",booktest.urls)
]
templates -----> index.html
<h1>{{city}}</h1>
模型类表单
from . import BookInfo # 从模型类中 定义字段
class BookInfoForm(forms.ModelForm):
class Meta:
model = BookInfo
fields = ('btitle','bpub_date')
admin站点
1、python manage.py createsuperuser # 创建超级管理员
2、settring.py LANGUAGE_CODE = "zh-hans" TIME_ZONE = "Asia/ShangHai"
models.py
@admin.register(HeroInfo) class HeroInfoAdmin(admin.ModelAdmin): # 显示个数 list_per_page = 5 # 执行操作 actions_on_top = True actions_on_bottom = True # 显示条目 list_display = ["id", "hname", "hcomment", "hbook",'read'] # 过滤器 list_filter = ['hbook'] # 搜索框 search_fields = ['hname']
class BookInfoAmin(admin.ModelAdmin): list_display = ['id', 'btitle', 'pub_date'] admin.site.register(BookInfo, BookInfoAmin)
def __str__(self): return self.btitle def pub_date(self): return self.bpub_date.strftime('%Y{y}%m{m}%d{d}').format(y='年', m='月', d='日') def read(self):
return self.hbook.bread
pub_date.short_description = "发布日期" pub_date.admin_order_field = "bpub_date"
未完待续