【发布时间】:2012-03-20 23:14:54
【问题描述】:
我想在我的管理表单中为 FileField 对象设置自定义名称,以便它的 html 名称属性不等于我的实例字段名称。
class MyAdminForm(forms.ModelForm):
file_field = forms.FileField()
def __init__(self, *args, **kwargs):
if kwargs.has_key('instance'):
instance = kwargs['instance']
self.initial['image_file'] = instance.file_field
使用此代码,我得到 并且我想要做的是将其 name 属性设置为其他内容。
编辑:
我接受了下面的答案,但我还有另一个问题。是否可以构造可变数量的 FileField 对象?我的意思是 - 如果我现在想要其中的 4 个,但在某些情况下只有一个怎么办?我是否必须将所有这些声明为类字段,例如 file_field1、file_field2 等等,或者是否可以将它们添加到字典中,例如:{ 'file_field1: FileField(), 'file_field2' : FileField() } - 我真的试过了,但出错了……
【问题讨论】:
-
英语不是您的母语。 避免长句,例如“我想在我的管理表单中为 FileField 对象设置自定义名称,以便它的 html 名称属性不等于我的实例字段名称。”。坚持主语+动词+补语。你的问题会突然变得更有意义!
-
这里是上面的一些提示.. :) blog.stackoverflow.com/2010/10/asking-better-questions 和@jpic 提到的你会得到更好的答案..
-
非常感谢您的语言建议! :)