xadmin 修改课程信息,已有图片,还要求上传图片 才能提交
来源:10-5 课程机构经典课程展示- 通过model反向去外键关联数据
Hi_Mike
2020-07-29
我看到老师的视频中修改了是否经典,并没有提示还需要上传封面。但是我的需要上传封面才可以提交,事实上,之前添加课程信息的时候已经有课程封面,预览也能看到信息。请问这个需要修改models定义 还是怎么解决这个问题呢?
2回答
-
Hi_Mike
提问者
2020-07-30
此 问题还没有新的更新啊。。。。。
112020-07-30 -
Hi_Mike
提问者
2020-08-15
经过一下午的调试,我找到问题所在,调试过程参考admin代码
修改xadmin/plugins/images.py,在AdminImageWidget类的最后添加:def use_required_attribute(self, initial):
return super(AdminImageWidget, self).use_required_attribute(initial) and not initial最终如下:
class AdminImageWidget(forms.FileInput):
"""
A ImageField Widget that shows its current value if it has one.
"""
def __init__(self, attrs={}):
super(AdminImageWidget, self).__init__(attrs)
def render(self, name, value, attrs=None):
output = []
if value and hasattr(value, "url"):
label = self.attrs.get('label', name)
output.append('<a href="%s" target="_blank" title="%s" data-gallery="gallery"><img src="%s" class="field_img"/></a><br/>%s ' %
(value.url, label, value.url, _('Change:')))
output.append(super(AdminImageWidget, self).render(name, value, attrs))
return mark_safe(u''.join(output))
def use_required_attribute(self, initial):
return super(AdminImageWidget, self).use_required_attribute(initial) and not initial有无其他影响还未知。待深入测试。
00