当前位置: 首页 > 面试题库 >

覆盖Django管理员中的表单

尉迟雅昶
2023-03-14
问题内容

在Django管理员中,我想覆盖并实现自己的模型形式(例如发票模型)。

我希望发票表单具有用于客户名称,产品名称的自动填写字段,并且我还想进行自定义验证(例如客户的信用额度)。如何覆盖Django管理员提供的默认格式并实现自己的默认格式?


问题答案:

如何根据docs在django admin中覆盖表单

from django import forms
from django.contrib import admin
from myapp.models import Person

class PersonForm(forms.ModelForm):

    class Meta:
        model = Person
        exclude = ['name']

class PersonAdmin(admin.ModelAdmin):
    exclude = ['age']
    form = PersonForm


 类似资料:
  • 问题内容: 我的一个模型具有一个delete标志,该标志用于全局隐藏对象: 如何覆盖Django管理模块使用的默认查询集以包括已删除的对话? 问题答案: 你可以在模型管理类中重写 方法。 请注意,在Django <= 1.5中,该方法被命名为just 。

  • 问题内容: 我尝试了各种方法来实现这一目标。 我决定不重写formfield_for_dbfield,因为它没有获得请求对象的副本,并且我希望避免对thread_locals的攻击。 我决定在ModelAdmin类中重写get_form并尝试以下操作: 当我从get_form中打印字段集或声明的字段集时,我将获得None(或在PageOptions中设置为初始值的任何值)。 为什么这不起作用,还有

  • 主要内容:启动管理界面Django为管理活动提供随时可以使用的用户界面。 我们都知道,管理界面对于一个Web项目是十分重要的。 Django根据您的项目模型自动生成管理界面。 启动管理界面 管理界面依赖于 django.contrib 模块。若需它工作,需要确保一些模块是否导入在 myproject/settings.py 文件中的INSTALLED_APPS和MIDDLEWARE_CLASSES元组。 对于 INST

  • 问题内容: 如何覆盖管理模板(例如admin / index.html),同时扩展它(请参阅https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-vs-replacing -an-admin-template)? 首先-我知道这个问题已经被问过并回答过(请参阅Django:覆盖和扩展应用程序模板),但是正如答案所示,

  • 下面是或模块,我想覆盖它。对于其他模块,我成功地遵循了本教程:https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/overriding-a-modules-language-keys 在本例中,模块没有servlet。上下文名称,这在类属性中是必需的。有什么方法可以推翻这种转换吗?提前谢谢你的帮助!

  • 问题内容: 我建立了一个Django表单,该表单提交到另一个域(我不控制)上的页面。我的想法是,我有一个样式优美,生成得很好的表单,可以很好地适合我自己的网站,并且在提交用户时将用户带到其他地方。 然而, 如果其他表单更改了其任何字段的名称,则我需要更改表单中的字段名称,然后在应用程序中的其他位置更改这些名称-因为attr与用于该属性的属性的名称相关联领域。 如果远程表单使用愚​​蠢的名称,那么我