打开localhost:8000/admin 就可以看到对应的数据库进行操作了
7.定制Django admin from django.contrib import admin from app01 import models class AccountAdmin(admin.ModelAdmin): list_display = ('username', 'email', 'signature') # 显示这三个字段 search_fields = ('username', 'email','signature') # 加入搜索按钮 list_filter = ('email', ) # 过滤, 针对重复的字段过滤 list_per_page = 2 # 设置分页 # list_display_links = ('email',) class ArticleAdmin(admin.ModelAdmin): list_display = ('title', 'content', 'account', 'pub_data') list_filter = ('account', 'pub_data') search_fielshituds = ('title',) fields = ('title', 'content', ('pub_data', 'account', 'tags')) # 设置admin修改创建页面可修改的数据 exclude = ('account',) # 排除不显示一些字段 date_hierarchy = 'pub_data' # 按照时间的分组(只能用时间) fieldsets = ( ('文章基本信息', { 'fields': ['title', 'content'], }, ), ('高级选项', { 'fields': ['account', 'tags', 'pub_data'], 'classes': ('collapse',), # 让这个高级选项变成有收缩折叠功能 } ) ) filter_horizontal = ('tags',) # 只能针对多对多 filter_vertical = ('tags',) radio_fields = {'account': admin.VERTICAL} # 将下拉框变成按钮以供选择 autocomplete_fields = ['account',] readonly_fields = ('title',) # 设置只读字段 admin.site.register(models.Account,AccountAdmin) admin.site.register(models.Article,ArticleAdmin) admin.site.register(models.Tag)
自定义Admin字段
在models文件中写入
def get_comment(self): return 10再在admin对应的库中加上list_display = ('get_comment',) 字段
自定义字段名 在,models中修改
signature = models.CharField("签名", max_length=255, null=True) # null允许值为空,签名
自定义表名 在models文件中类中加入
class Meta: # verbose_name = "用户列表" # 针对英文的 verbose_name_plural = '用户列表' # 针对中文的 8.views 视图(views文件的操作)
视图中的字段抛开讲解
HttpRequest对象属性
他封装了本次请求所涉及的用户浏览器端数据,服务器端数据等,在views里可以通过request对象来调取相应的属性
request.scheme ==> 查看是https 协议还是http
request.path == > 返回的是当前请求的url
request.method ==> 查看获取网页的方法 post get put delete
request.content_type ==> 返回mime的类型
request.GET ==> 打印网页GET请求的参数
request.POST ==> 打印网页POST请求的参数
request.COOKIE ==> 获取浏览器的cookie数据
request.FILES == > 拿到通过前端页面上传来的文件,放到内存当中
request.POST.get("test_f") ==> 拿到选择文件的文件名
request.META ==> 返回所有的请求头
除了属性HttpRequest的方法
request.get_host() ==> 返回网站服务器地址,example: '127.0.0.1':'8000'
request.get_port() ==> 返回服务器主机端口
request.get_full_path() ==> 返回请求的路径
request.build_absolute_uri(locaiton) ==> 返回请求完整的url
request.is_srcure() ==> 判断他是不是https
request.is_ajax() ==> 判断是否是ajax请求
Httpresponse(content_type格式参考手册https://www.w3school.com.cn/media/media_mimeref.asp)
设置下载文件的方法