让我们想象一下这个模型:
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/