gpt4 book ai didi

python - Django - 管理员自定义字段显示和行为

转载 作者:搜寻专家 更新时间:2023-10-31 22:50:09 24 4
gpt4 key购买 nike

让我们想象一下这个模型:

class ScribPart(models.Model):
name = models.CharField(max_length=50, unique=True)
text = models.TextField()

我想将特定类附加到字段text 并调用特定的js 文件。这样管理页面就像:

...
<script type="text/javascript" src="/static/js/mymarkup.js"></script>
...
<textarea id="id_text" name="text" class="mymarkup"></textarea>
...

我如何使用小部件和/或自定义管理表单来做到这一点?

最佳答案

要插入 <script>在管理页面中,最简单的事情是:

class ScribPartAdmin(model.ModelAdmin):
...
your normal stuff...
...

class Media:
js = ('/path/to/your/file.js',)

ModelAdmin media definitions documentation

现在添加 class属性为 textarea我认为最简单的方法是这样的:

from django import forms

class ScribPartAdmin(model.ModelAdmin):
...
your normal stuff...
...

class Meta:
widgets = {'text': forms.Textarea(attrs={'class': 'mymarkup'})}

Overriding the default widgets documentation

我应该补充一点,这种方法适合一次性使用。如果你想多次重复使用你的字段或 JS,有更好的方法(字段的自定义小部件,如果 JS 与字段完全相关,则指定 JS 文件,扩展模板以在许多地方包含 JS 文件) .

关于python - Django - 管理员自定义字段显示和行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7027752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com