Det*_*mek 4 python django django-models django-admin
我有模特:
class CategoryField(models.Model):
selectfield = models.IntegerField(choices=SELECT_FIELD_CHOICES, default=1)
verified = models.BooleanField(default=True, verbose_name='Required?')
Run Code Online (Sandbox Code Playgroud)
在管理页面中我有selectField
选择:"value1","value2","value3",...当我选择"value2"时,我需要显示verified
字段.我该怎么做?
您需要添加一些JavaScript才能显示或隐藏字段.jQuery 1.9.1 已经通过该对象在Django admin中可用django.jQuery
.
添加此JavaScript的最简单方法是将Media元类添加到模型表单中,并将表单添加到ModelAdmin
:
# forms.py
from django import forms
class CategoryFieldForm(forms.ModelForm):
. . .
class Media:
js = ('category-field-admin.js',)
# admin.py
from django.contrib import admin
from your_app.forms import CategoryFieldForm
from your_app.models import CategoryField
class CategoryFieldAdmin(admin.ModelAdmin):
form = CategoryFieldForm
admin.site.register(CategoryField, CategoryFieldAdmin)
# category-field-admin.js
// pseudo code - change as needed
(function($) {
$(function() {
var selectField = $('#id_selectField'),
verified = $('#id_verified');
function toggleVerified(value) {
value == 'value2' ? verified.show() : verified.hide();
}
// show/hide on load based on pervious value of selectField
toggleVerified(selectField.val());
// show/hide on change
selectField.change(function() {
toggleVerified($(this).val());
});
});
})(django.jQuery);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4696 次 |
最近记录: |