相关疑难解决方法(0)

自定义/删除Django选择框空白选项

我正在使用Django 1.0.2.我写了一个由Model支持的ModelForm.此模型有一个ForeignKey,其中blank = False.当Django为此表单生成HTML时,它会创建一个选择框,其中包含ForeignKey引用的表中每一行的一个选项.它还在列表顶部创建一个没有值的选项,并显示为一系列破折号:

<option value="">---------</option>
Run Code Online (Sandbox Code Playgroud)

我想知道的是:

  1. 从选择框中删除此自动生成选项的最简洁方法是什么?
  2. 定制它的最简洁方法是什么,以便它显示为:

    <option value="">Select Item</option>
    
    Run Code Online (Sandbox Code Playgroud)

在寻找解决方案时,我遇到了Django票4653,这给我的印象是其他人有同样的问题,并且Django的默认行为可能已被修改.这张票超过一年,所以我希望可能有更清洁的方法来完成这些事情.

谢谢你的帮助,

杰夫

编辑:我已经配置了ForeignKey字段:

verb = models.ForeignKey(Verb, blank=False, default=get_default_verb)
Run Code Online (Sandbox Code Playgroud)

这确实设置了默认值,因此它不再是空/短划线选项,但不幸的是它似乎无法解决我的任何问题.也就是说,空/破折号选项仍然出现在列表中.

python django django-models django-forms

73
推荐指数
8
解决办法
5万
查看次数

如何摆脱Django Form的RadioSelect产生的虚假选择

我在Django 1.3上使用ModelForm.

models.py:

class UserProfile(models.Model):
...
gender = models.CharField(max_length=1, blank=True, choices=(('M', 'Male'), ('F', 'Female'), ('Unspecified', '')), default='M')
...
Run Code Online (Sandbox Code Playgroud)

forms.py:

class UserProfileForm(ModelForm):
    class Meta:
        model = UserProfile
        fields = ('gender')
        widgets = {
            'gender': forms.RadioSelect(),
        }
Run Code Online (Sandbox Code Playgroud)

当这个小部件呈现为HTML时,我得到了

<ul> 
<li><label for="id_gender_0"><input type="radio" id="id_gender_0" value="" name="gender" />---------</label></li> 
<li><label for="id_gender_1"><input checked="checked" type="radio" id="id_gender_1" value="M" name="gender" /> Male</label></li> 
<li><label for="id_gender_2"><input type="radio" id="id_gender_2" value="F" name="gender" />Female</label></li> 
<li><label for="id_gender_3"><input type="radio" id="id_gender_3" value="" name="gender" /> Unspecified</label></li> 
</ul> 
Run Code Online (Sandbox Code Playgroud)

问题: 如何摆脱伪造的选择"--------"?

几个月之前另一个stackoverflow用户提出了同样的问题(这里).我已经在那里尝试了可接受的解决方案(如你所见),但这对我不起作用.

python django django-forms

11
推荐指数
2
解决办法
3456
查看次数

标签 统计

django ×2

django-forms ×2

python ×2

django-models ×1