Django Full Coverage (3)

打开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)

设置下载文件的方法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwpzy.html