首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自定义 Django 管理界面中的多对多内联模型

问题背景在 Django 管理界面中,用户可以使用内联模型来管理一对多的关系。但是,当一对多关系是多对多时,Django 提供的默认内联模型可能并不适合。...例如,如果存在一个产品模型和一个发票模型,并且产品和发票之间是多对多的关系,那么在发票的管理界面中,Django 会显示一个表格,其中包含所有产品及其对应的复选框。...在 formset_factory() 函数中,指定 model 参数为内联模型的模型类,并指定 fields 参数为内联模型中需要显示的字段。...在新的内联模型类中,重写 has_add_permission() 和 has_change_permission() 方法。...这两个方法分别负责判断用户是否有添加和修改内联模型对象将新的内联模型类添加到 ModelAdmin 类中。在 ModelAdmin 类的 inlines 属性中,添加新的内联模型类。

12510
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在 Django 表单中传递自定义表单值到视图

    在Django中,我们可以通过表单的初始化参数initial来传递自定义的初始值给表单字段。如果我们想要在视图中设置表单的初始值,可以在视图中创建表单的实例时,传递一个字典给initial参数。...1、问题背景我们遇到了这样一个问题:在使用 Django 表单时,我们希望将自定义表单中的值传递到视图中。然而,我们发现无法为多选选项的每个选项传递值。...在渲染表单时,只有一个字符字段,而多选框中有多个选择。我们想知道是否有办法解决这个问题,以及表单集是否可以在这里提供帮助。我们对 Django 还很陌生,因此希望得到一些解释,以便更好地理解和学习。...在我们的例子中,我们可以创建一个表单集来处理每个 StateOptionOutcome 对象。

    11710

    Django Admin中上传`.msg`文件并预览内容的实现教程

    在Django开发中,有时需要处理上传文件的操作,尤其是在后台管理系统中。...我们将使用pywin32库来操作Outlook,读取.msg文件的内容,并将这些内容显示在Django Admin界面中。1. 准备工作在开始之前,请确保你已经安装了Django和pywin32库。...创建Django模型首先,我们需要创建一个Django模型,用于存储上传的.msg文件内容。...我们做了以下几个重要的配置:list_display 和 readonly_fields: 我们设置了在Admin界面中显示文件名和内容预览,同时内容预览字段是只读的。...添加文件上传字段为了在Admin界面中实现文件上传,我们需要在模型表单中添加一个临时的文件字段。这个字段不会被保存到数据库中,但用于接收用户上传的文件。

    11510

    Django项目于之在线教育平台网站的实战开发(完结)

    在课程数据中如点击数丶收藏认识丶学习人数应该是只读而不能进行修改编辑的 在注册类中添加readonly_fields属性指向要只读的字段 readonly_fields = ['students',...'click_nums', 'fav_nums'] 刷新页面则,指定只读的字段则显示在页面底部 4.在xadmin后台中不显示某些字段 在注册类中添加exclude属性的值即可,需要注意的是exclude...模型类中定义go_to方法,具体如下,说明一下make_safe方法是让链接地址安全不进行转义操作 def go_to(self): from django.utils.safestring import...类中refresh_times为空列表,表示未进行设置刷新时间 在CourseAdmin中添加refresh_times属性,并设定其值为3秒或5秒刷新条件 refresh_times = [3, 5...安装过程不用演示,很简单 因博主在之前Django电商项目中已经安装过了所以这里不用安装,并且ngin.conf配置文件中的配置为Django电商项目的配置;在Django电商项目部署配置nginx时,

    1.3K30

    django:DateTimeField如何自动设置为当前时间并且能被修改 ——django日期时间字段的使用

    创建django的model时,有DateTimeField、DateField和TimeField三种类型可以用来创建日期字段,其值分别对应着datetime()、date()、time()三中对象。...需要注意的是,设置该参数为true时,并不简单地意味着字段的默认值为当前时间,而是指字段会被“强制”更新到当前时间,你无法程序中手动为字段赋值;如果使用django再带的admin管理器,那么该字段在admin...editable=False将导致字段不会被呈现在admin中,blank=Ture表示允许在表单中不输入值。...readonly_fields中: class YourAdmin(admin.ModelAdmin): readonly_fields = ('save_date', 'mod_date',)...实际场景中,往往既希望在对象的创建时间默认被设置为当前值,又希望能在日后修改它。怎么实现这种需求呢? django中所有的model字段都拥有一个default参数,用来给字段设置默认值。

    7.3K80

    美多商城项目(十)

    'xadmin', 'crispy_forms', 'reversion', ... ] xadmin有建立自己的数据库模型类,需要进行数据库迁移,在数据库中建立依赖的数据表。...), url(r'xadmin/', include(xadmin.site.urls)), ... ] 3.2使用 1.在 adminx.py文件中注册模型。...ordering 默认排序的字段 readonly_fields 在编辑页面的只读字段 ? exclude 在编辑页面隐藏的字段 list_editable 在列表页可以快速直接编辑的字段 ?...(self,request,obj) 而在xadmin中,需要重写如下方法: save_models(self) delete_model(self) 在方法中,如果需要用到当前处理的模型类对象,需要通过...团队开发注意事项 浅谈密码加密 Django框架中的英文单词 Django中数据库的相关操作 DRF框架中的英文单词 重点内容回顾-DRF Django相关知识点回顾

    1.6K10

    Django admin管理工具

    你可以在项目的 settings.py 中的 INSTALLED_APPS 看到它: # Application definition INSTALLED_APPS = [ 'django.contrib.admin...激活管理工具 通常我们在生成项目时会在 urls.py 中自动设置好, from django.conf.urls import url from django.contrib import admin...使用管理工具 启动开发服务器,然后在浏览器中访问 http://127.0.0.1:8000/admin/,得到登陆界面,你可以通过命令 python manage.py createsuperuser...为了让 admin 界面管理某个数据模型,我们需要先注册该数据模型到 admin from django.db import models # Create your models here....中只需要讲Mode中的某个类注册,即可在Admin中实现增删改查的功能,如: admin.site.register(models.UserInfo) 但是,这种方式比较简单,如果想要进行更多的定制操作

    1K10

    Django Admin输出JSON

    Django Admin输出JSON Posted March 15, 2017 Django 自带Admin后台这是Django的优势所在, 这样的话我们可以开箱即用后台功能。...有人说Django重, 可能设计就是这样, 过度的封装就是让开发者更简单的实现。 比起flask、tornado等轻量级的框架。 Django更适合做支撑系统的开发。...当然本文不讲述Django和其他轻量级框架的优劣, 主要说一个修改Admin后台的例子。 虽然Admin可以对定义的模型表做一些基本的增删改查, 但是有时候我们需要加一些功能。...这样对于我在开发API的时候能更加直观, 而且我想显示的JSON是格式化之后的, 最好是加上语法高亮....(admin.ModelAdmin): readonly_fields = ('data_prettified',) def data_prettified(self, instance

    1.1K20

    Django Admin 后台自定制技巧

    Django最强大的部分之一是自动管理界面。它从模型中读取元数据,以提供一个快速的,以模型为中心的界面,受信任的用户可以在其中管理您网站上的内容。管理员的建议用法仅限于组织的内部管理工具。...自动化运维" # list_display = 你需要或者想要展示在页面中的字段 list_display = ("HostName","HostAddr","HostModel",...中增加一条视图函数 from django.shortcuts import render from django.contrib.auth.decorators import login_required...管理平台" # list_display = 你需要或者想要展示在页面中的字段 list_display = ("HostName","HostAddr","DataTime","Status...list_display_links = ("HostAddr",) 添加已过期标志: 通过取出当前时间与数据库中现有时间对比,来实现是否过期. # name: admin.py from django.contrib

    1.4K20

    【Django | 爬虫 】收集某吧评论集成舆情监控(附源码)

    // 品论内容 {'user': ['我是校长-'], // 多份评论 ···· }, ···· ] } 建立如下表以存贮舆情数据: 贴吧用户 ( 从评论中获取...` 4.2 配置 在 setting.py 的 app 里面加入 INSTALLED_APPS = ( # ......"django_apscheduler", ) apscheduler 存在数据库依赖. migrate 一下 会在数据库中生成两行表 表结构在下面的使用中再说 4.3 简单的原理解释 注册后的任务会根据...下次任务永远都会错过 4.4 书写代码 可以在任意view.py中实现代码 ( 通常习惯将所有定时任务放在一个APP里),可能会莫名不运行定时任务,见文章末问题解决 这里设置为每天早上8:30定时爬取评论...原因:创建了一个app,但是没有运行,这是因为这个app的view只有一个函数,没有连接在django进程,没有经过该view, 解决方式: 在任意django进程中添加 from app improt

    1.2K30

    Django admin管理工具的使用、定制及源码解析

    你可以在项目的 settings.py 中的 INSTALLED_APPS 看到它: # Application definition INSTALLED_APPS = [ 'django.contrib.admin...为了让 admin 界面管理某个数据模型,我们需要先注册该数据模型到 admin from django.db import models # Create your models here....当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。...因此,我们只需把相关的函数和数据定义在一个模块中,就可以获得一个单例对象了。...BlogAdmin(admin.ModelAdmin): #listdisplay设置要显示在列表中的字段(id字段是Django模型的默认主键) list_display

    4.1K40

    【Django | 开发】面试招聘信息网站(处理产品细节和权限&美化页面样式)

    二、样式美化 1) 美化admin后台 2)美化页面 一、产品细节完善 1) 设置站点标题,在项目目录下的url.py加上如下代码 from django.utils.translation import...= _('霍格沃兹学院') # 变成key 对于其他语言的value # 国际化 网站标题 admin.site.site_title = _('霍格沃兹招聘信息网') 2) 填写信息显示提示 添加模型中的...return ('',) # 返回值必须是可迭代对象 , 不能返回空 面试官只读 5) 设置面试官可直接在列表修改面试官 目前django没有对应的方法get_list_editable,...安装后在setting.py进行配置 在添加主题应用时,是需要在其他应用前面的 INSTALLED_APPS = [ 'grappelli', 'django.contrib.admin',...', 'django.contrib.staticfiles', 'jobs', 'interview', ······ 在项目urls.py引入grappelli路由 ······· path

    51810

    Django admin 一些有用的设置

    Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据。后台管理可以在各个app的admin.py文件中进行控制。以下是我最近摸索总结出比较实用的配置。...有时容易忘记写注册语句,或者模型很多,不容易对应。 还有一种方式是用装饰器,该方法是Django1.7的版本新增的功能: ?...import Blog    #Blog模型的管理器 @admin.register(Blog) class BlogAdmin(admin.ModelAdmin):     #listdisplay设置要显示在列表中的字段...这种情况,我们也是可以处理的,将其放在同一个编辑界面中。 例如,有两个模型,一个是订单主表(BillMain),记录主要信息;一个是订单明细(BillSub),记录购买商品的品种和数量等。...每条数据都有 个确认标识(上图红框中),如果已经确认,用户再点击进入查看信息的时候全部只读显示,即不能在做修改,如果没确认在可以修改。如下: 已确认: ? 未确认: ?

    2.6K70
    领券