文章目录 一、对象句柄值获取 1、句柄值 2、创建对象时获取句柄值 3、函数获取句柄值 4、获取 / 设置 对象属性 二、获取对象属性 1、获取 线 对象属性 2、获取 坐标轴 对象属性 一、对象句柄值获取...---- 1、句柄值 对象的句柄值 , 类似于编程时的引用 , 将对象的句柄值赋值给变量后 , 该变量就可以代表指定的绘图对象 ; 对象的 Handle 标识 ; 2、创建对象时获取句柄值 创建对象时获取图形对象句柄值...: 创建对象时 , 使用变量接收该对象 , 下面的代码就是使用 line_sin 变量获取 线 对象的句柄值 ; line_sin = plot(x, y) 3、函数获取句柄值 使用函数获取对象句柄值...: 查找特定对象的父容器的句柄值 ; delete : 删除对象 ; findall : 找到所有的图形对象 ; 4、获取 / 设置 对象属性 获取某个对象的属性 : 使用 get 函数 , 可以获取某个对象的属性...; get() 设置某个对象的属性 : 使用 set 函数 , 可以设置某个对象的属性 ; set() 二、获取对象属性 ---- 1、获取 线 对象属性 获取图形对象属性 : 代码示例 : % x
如果你提交时没有选择任何Choice,你应该看到错误信息。 ...如果没有给定自述名,Django 将根据字段的属性名称自动创建自述名 —— 将属性名称的下划线替换成空格。...4.Meta继承 当一个抽象基类被创建的时候, Django把你在基类内部定义的 Meta 类作为一个属性使其可用。 如果子类没有声明自己的Meta类, 它将会继承父类的Meta。... choices 当表单字段没有choices 属性时,该属性是随意的。 如果字段有choice 属性,当Field的该属性更新时,它将覆盖你在这里的任何设置。...choices 当表单字段没有choices 属性时,该属性是随意的。 如果字段有choice 属性,当Field的该属性更新时,它将覆盖你在这里的任何设置。
,ModelAdmin已模块名称作为参数实例化得到的对象作为 registry字典的value。..._registry['UserInfo'].urls ===== admin_class(model, self).urls=======admin_class这个类生成对象的urls属性【此时这个对象是...UserInfo的对象,所以下面get_url函数中的self指的就是UserInfo的对象】======admin_class这个类的urls属性========= > ModelAdmin这个类的urls...属性【因为注册的时候没有传入admin_class,所以默认是ModelAdmin】 再来看下ModelAdmin这个类的urls属性 def get_urls(self): from django.conf.urls...,没有继承其他的?
当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。...如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例对象,而这样会严重浪费内存资源,尤其是在配置文件内容很多的情况下..._instance 为None则创建实例,否则直接返回 cls._instance。...因此,我们只需要把相关的函数和数据定义在一个模块中,就可以获得一个单例对象了。..._meta.app_label, model.
此外还有一个 fields 属性,则用来控制表单展现的字段,正好符合我们的需求: class PostAdmin(admin.ModelAdmin): list_display = ['title...发布文章的过程实际上是一个 HTTP 请求过程,此前提到,django 将 HTTP 请求封装在 HttpRequest 对象中,然后将其作为第一个参数传给视图函数(这里我们没有看到新增文章的视图,因为...这个方法接收四个参数,其中前两个,一个是 request,即此次的 HTTP 请求对象,第二个是 obj,即此次创建的关联对象的实例,于是通过复写此方法,就可以将 request.user 关联到创建的...,一个想法我们可以沿用上面的思路,复写 save_model 方法,将创建的 post 对象关联当前时间,但是这存在一个问题,就是这样做的话只有通过 admin 后台创建的文章才能自动关联这些时间,但创建文章不一定是在...因此,对于文章创建时间这个字段,初始没有指定值时,默认应该指定为当前时间,所以刚好可以通过 default 关键字参数指定: from django.utils import timezone class
激活管理工具 创建项目时在urls.py中会自动穿件 from django.conf.urls import url from django.contrib import admin urlpatterns...使用管理工具 先用 python manage.py startapp app01 创建一个app,然后在models.py中创建相应的类进行数据库迁移使用python manage.py makemigrations...当你希望在整个系统中,某个类只能出现一个实例时, 单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。...如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例对象,而这样会严重浪费内存资源,尤其是在配置文件内容很多的情况下...因此,我们只需把相关的函数和数据定义在一个模块中,就可以获得一个单例对象了。
first_interviewer_user=request.user) | Q(second_interviewer_user=request.user)) 成功实现 3) action行为权限 在添加群组时我们为...# 全局禁用删除对象,需要使用需要在modeladmin加上该action # admin.site.disable_action('delete_selected') 不建议使用,可以通过权限设置...效果 现在还无法看到权限,因为model模型的Meta信息还没有同步到数据库(如果数据库auth用户验证模块没有这个定义,这里是不显示的) 数据迁移两把斧运行 成功...二、 钉钉群消息集成 1)简单shell测试 在应用interview创建脚本dingtalk.py # coding=utf-8 # 引入聊天机器人 from dingtalkchatbot.chatbot...secret=secret) # Text消息 @所有人 xiaoding.send_text(msg=('面试通知:%s' % message), at_mobiles=at_mobiles) 创建群聊
当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。...如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例对象,而这样会严重浪费内存资源,尤其是在配置文件内容很多的情况下..._instance 为 None 则创建实例,否则直接返回 cls._instance。...因此,我们只需把相关的函数和数据定义在一个模块中,就可以获得一个单例对象了。..._meta.app_label, model.
逻辑删除(isDelete = True) I、关联对象 创建一个学生 获得关联对象的集合 创建一个学生属于‘’python04‘’班 8、启动服务器 a、格式: b、说明: 9、Admin站点管理 a...和students.html两个模板 模板语法 { {输出值,可以是变量,也可以是对象属性}} {%执行代码段%} e、http://127.0.0.1:8000/grades 写grades.html...格式:类名.objects.get(pk=1) Grades.objects.get(pk=1) g、修改数据 模型对象.属性 = 新值 grade1.gboynum = 60 grade1.save...模型对象.delete() 逻辑删除(isDelete = True) I、关联对象 创建一个学生 stu = Students() stu.sname = “小明” stu.sgender...给属性分组 注意:fields与fieldsets不能同时使用 关联对象 需求:在创建一个班级时可以直接添加几个学生 class StudentsInfo(admin.TabularInline):
x.xxx:8080 可以通过 "http://192.168.x.xxx:8080/admin" 打开 admin 管理系统,登录的账号密码就是我们第一部分通过命令行 createsuperuser时所创建的...,就会显示错误让用户改正 ?...提交表单错误 不存在对应模型(POST 方式) 1.在 forms.py 中创建表单 # 假设有个信息反馈的表单 class ContractForm(forms.Form): subject...提交反馈错误 类似搜索的表单(GET) 1.创建表单视图 def search(request): # 获取到用户提交的搜索关键词,字典的键值同模版中的 name 属性值 q = request.GET.get...error_message = 'Input Keyword' return render(request, 'blog/home.html', locals()) # Q 对象用于包装查询表达式
class="hljs-string">'zh-Hans' TIME_ZONE = 'Asia/Shanghai' 创建管理员用户...span>) class Meta...>,'isDelete']}), ] admin.site.register(Grades, GradesAdmin) 关联对象...需求:在创建一个班级时可以直接添加几个学生 #TabularInline 横着显示添加学生布局 True admin.site.register(Students,StudentsAdmin) 使用装饰器完成注册 <span class="hljs-<em>meta</em>
Meta类中的属性 db_table: 设置创建数据库表的名称,默认的是 应用名_模型类名 verbose_name: 设置数据库表的详细信息(表备注) verbose_name_plural: 设置数据表的复数显示形式...ordering: 设置数据表的排序字段 字段、和Meta类中属性,以后再做详细介绍。...且这些属性没有 default 默认值,存在 null 值。 解决方案: 1)选择1,则自己提供 default 值,输入 '' 空字符即可。...如果要 切换到其他数据库 时可以在应用下的 migrations 目录下删除之前创建的迁移文件然后在创建迁移文件即可。...如果关联的模型(表)属性较少,放置多些时建议 表格式(admin.TabularInline),少些时任意格式都无伤大雅。
Meta类中的属性 db_table: 设置创建数据库表的名称,默认的是 应用名_模型类名 verbose_name: 设置数据库表的详细信息(表备注) verbose_name_plural: 设置数据表的复数显示形式...ordering: 设置数据表的排序字段 字段、和Meta类中属性,以后再做详细介绍。...且这些属性没有 default 默认值,存在 null 值。 解决方案: 数据库结构 注意:如果切换了数据库,数据不会迁移过来,记得自己手动添加或者导入。...图书类型的分页效果图 图书信息的过滤效果图 嵌入编辑关联的对象(堆放式) 在编辑图书类型的时候,会在下面根据 extra 属性值内嵌入关联的对象(图书信息)的个数 嵌入编辑关联的对象(表格式)...如果关联的模型(表)属性较少,放置多些时建议 表格式(admin.TabularInline),少些时任意格式都无伤大雅。
一个可调用对象。 一个代表 ModelAdmin 属性的字符串。 一个代表模型属性的字符串。...用模型属性显示 模型的id title pub_date 三个属性 123 class TestAdmin(admin.ModelAdmin): ... ...atitle.short_description='标题' 如果是更改模型字段显示的列标题,可以在定义模型字段时,设置verbose_name的值 ,或者封装成方法,再对方法使用上面那个属性,模型字段不能直接使用那个属性...modelsfrom django.contrib import admin class Test(models.Model): .... """ empty_value:属性值为空时...12 class TestAdmin(admin.ModelAdmin): search_fields = ['id','name'] 在搜索框中进行搜索时,Django 会将搜索查询拆分成多个词
注意:如果属性类型为ImageField需要安装包Pilow pip install Pillow==3.4.1 图片存储路径 在项目根目录下创建media文件夹 图片上传后,会被保存到“/static...对象 ModelAdmin类是模型在Admin界面中的表示形式 定义:定义一个类,继承于admin.ModelAdmin,注册模型时使用这个类 class HeroAdmin(admin.ModelAdmin...): 通过重写admin.ModelAdmin的属性规定显示效果,属性主要分为列表页、增加修改页两部分 列表页选项 “操作选项”的位置 actions_on_top、actions_on_bottom:...:当向page()传入一个不是整数的值时抛出 EmptyPage:当向page()提供一个有效值,但是那个页面上没有任何对象时抛出 Page对象 创建对象 Paginator对象的page()方法返回Page...对象,不需要手动构造 属性 object_list:当前页上所有对象的列表 number:当前页的序号,从1开始 paginator:当前page对象相关的Paginator对象 方法 has_next
当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。...如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例对象,而这样会严重浪费内存资源,尤其是在配置文件内容很多的情况下...5、数据保存时进行一些额外的操作(通过重写ModelAdmin的save_model实现) ?...8.修改app的显示名称 Dajngo在Admin后台默认显示的应用的名称为创建app时的名称。...为每个对象自定义 action 有时候你需要在单个对象上执行特定的 action。
准备工作 创建管理员的用户名和密码: 1 python manage.py createsuperuser 根据提示创建用户名 密码 在admin.py中注册模型类 1234567 from django.contrib...一个可调用对象。 一个代表 ModelAdmin 属性的字符串。 一个代表模型属性的字符串。...atitle.short_description='标题' 如果是更改模型字段显示的列标题,可以在定义模型字段时,设置verbose_name的值 ,或者封装成方法,再对方法使用上面那个属性,模型字段不能直接使用那个属性...modelsfrom django.contrib import admin class Test(models.Model): .... """ empty_value:属性值为空时...12 class TestAdmin(admin.ModelAdmin): search_fields = ['id','name'] 在搜索框中进行搜索时,Django 会将搜索查询拆分成多个词
AppConfig.verbose_name 属性用于设置该应用的直观可读的名字,此名字在Django提供的Admin管理站点中会显示, 注册模型类 登录后台管理后,默认没有我们创建的应用中定义的模型类...在列表页中点击"增加"可以进入增加页,Django会根据模型类的不同,生成不同的表单控件,按提示填写表单内容后点击"保存",完成数据创建,创建成功后返回列表页。 ?...页大小 每页中显示多少条数据,默认为每页显示100条数据,属性如下: class BookInfoAdmin(admin.ModelAdmin): list_per_page = 2 2....关联对象 无法直接访问关联对象的属性或方法,可以在模型类中封装方法,访问关联对象的成员。...关联对象 在一对多的关系中,可以在一端的编辑页面中编辑多端的对象,嵌入多端对象的方式包括表格、块两种。 类型InlineModelAdmin:表示在模型的编辑页面嵌入关联模型的编辑。
否则,FILES 将为一个空的类似于字典的对象 使用模型处理上传文件:将属性定义成models.ImageField类型 pic=models.ImageField(upload_to='cars/')...注意:如果属性类型为ImageField需要安装包Pilow pip install Pillow==3.4.1 图片存储路径 在项目根目录下创建media文件夹 图片上传后,会被保存到“/static...对象 ModelAdmin类是模型在Admin界面中的表示形式 定义:定义一个类,继承于admin.ModelAdmin,注册模型时使用这个类 class HeroAdmin(admin.ModelAdmin...): 通过重写admin.ModelAdmin的属性规定显示效果,属性主要分为列表页、增加修改页两部分 列表页选项 “操作选项”的位置 actions_on_top、actions_on_bottom:...): inlines = [ HeroInline, ] 重写admin模板 在项目所在目录中创建templates目录,再创建一个admin目录 设置模板查找目录:修改
增加/修改 目前暂时没有图书信息,在列表页中点击"增加"可以进入增加页,Django 会根据模型类的不同,生成不同的表单控件,按提示填写表单内容后点击"保存",完成数据创建,创建成功后返回列表页。...自定义后台管理界面 在列表页只显示出了 BookInfo object ,对象的其它属性并没有列出来,查看非常不方便。 Django提供了自定义管理页面的功能。 比如列表页要显示哪些值。...属性list_display表示要显示哪些属性 class BookInfoAdmin(admin.ModelAdmin): list_display = ['id', 'title', 'author...的列表页的列变成中文,是因为在 BookInfo 模型类中属性值给了 verbose_name 参数,如果没有给定则显示类属性名。...但发现没有左边还是英文。 我们只要在模型类添加一个 Meta 类设置相应的属性即可。
领取专属 10元无门槛券
手把手带您无忧上云