小编bme*_*r71的帖子

Django表单 - 附加到类元排除和小部件

是否可以附加到继承表单的exclude或widgets变量?

到目前为止我有以下设置.

class AddPropertyForm(forms.ModelForm):
    num_months = forms.ChoiceField(choices=MONTHS)
    request_featured = forms.BooleanField(required=False)
    featured_months = forms.ChoiceField(choices=MONTHS)

    class Meta():
        model = RentalProperty
        exclude = ('listing_id', 'active_listing', 'active_listing_expiry_date', 'featured_property', 'featured_expiry_date', 'slug', 'property_manager')
        widgets = {
            'property_type': forms.Select(attrs={'onchange':'propertyType()'}),
        }

class EditPropertyForm(AddPropertyForm):
    request_reactivation = forms.BooleanField(required=False)
    class Meta(AddPropertyForm.Meta):
        exclude = ('address1', 'property_type')
        widgets = {
            'request_reactivation': forms.CheckboxInput(attrs {'onchange':'reactivateProperty()'}),
        }
Run Code Online (Sandbox Code Playgroud)

我试图让EditPropertyForm的最终结果看起来像下面的exclude和widgets语句.

exclude = ('address1', 'property_type', 'listing_id', 'active_listing', 'active_listing_expiry_date', 'featured_property', 'featured_expiry_date', 'slug', 'property_manager')

widgets = {
    'request_reactivation': forms.CheckboxInput(attrs {'onchange':'reactivateProperty()'}),
    'property_type': forms.Select(attrs={'onchange':'propertyType()'}),
}
Run Code Online (Sandbox Code Playgroud)

如果有更好的方法,请建议.

任何帮助都非常感谢.

django django-forms

6
推荐指数
1
解决办法
2887
查看次数

从内联表单访问父表单的cleaning_data clean()

我有一个具有内联形式的主窗体.是否可以从内联表单的清理函数访问主表单的cleaning_data?

这就是我要问的原因.

主要表格有一个字段来定义房产是出售还是出租.然后,内联表单显示销售价格字段或租赁金额和存款的字段.我试图验证,如果该物业是出售,那么租赁和存款字段应为空.

我可以在前端界面的视图中执行此操作,但是可以在forms.py中为前端和管理员完成吗?

django django-forms cleaned-data

5
推荐指数
1
解决办法
2165
查看次数

if语句中调用的模板标记

我想知道是否有任何方法可以在if语句中调用模板标记.

我正在尝试执行以下操作.

{% for k,v in form.amenities.field.choices %}
    {% if {% check_hidden k %} %}
        {{ v }}
    {% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

{% check_hidden k %}标签返回TrueFalse该项目从表中进行查找.我可以证实,{% check_hidden k %}返回要么True还是False在它自己的,但我想知道如果我可以换一个if围绕它的语句?

我正在使用的应用程序是继承的,因此我尝试最小化现在需要完成的更改量.目前它只是被渲染为{{form.amenities}},但我在模型中添加了一个额外的字段,我现在需要在模板中显示字段之前检查.

如果有另一种方法可以做到这一点,我愿意接受建议.

提前致谢.

django django-templates

4
推荐指数
1
解决办法
2898
查看次数

确定是否在页面加载时使用jquery选中复选框

我仍然是jQuery的新手,所以请原谅我,如果第一轮没有意义.

我有一组复选框(允许,不允许,可协商),如果您选中允许或可协商,它将通过onclick事件取消隐藏另一组复选框.

我遇到的问题是,当刷新页面时,如果选中允许或协商,我希望第二组复选框可见.我希望这可以在页面加载时完成,而不是通过任何点击或更改事件(如果可能).

我已经尝试了其他问题的各种建议,没有运气.例如:if ($("#id_pets_0").attr("checked")==true)

这可能吗?

如果有人对此有任何替代方案,我也会为此而战.

更新: 这是我一直在尝试的.

$(function() {
   if ($("#id_pets_0").attr("checked")==true) {
        $("#dogs").show();
        $("#cats").show();
    }
    else {
        $("#dogs").hide();
        $("#cats").hide();
    }
});
Run Code Online (Sandbox Code Playgroud)

更新: 此代码确实有效.所以我知道它至少会检查点击事件的复选框.

$(function() {
    $('input#id_pets_0').click(function() {
    if ($(this).attr("checked")) {
        $("#id_pets_1").attr("checked", false);
        $("#dogs").show("slow");
        $("#cats").show("slow");
        return;
    }
    if ($("#id_pets_2").attr("checked")) {
        $("#dogs").show("slow");
        $("#cats").show("slow");
    }
    else {
        $("#id_dogs_0").attr("checked", false);
        $("#id_dogs_2").attr("checked", false);
        $("#id_cats_0").attr("checked", false);
        $("#id_cats_2").attr("checked", false);
        $("#dogs").hide("slow");
        $("#cats").hide("slow");
    }
});
});
Run Code Online (Sandbox Code Playgroud)

css xhtml jquery

2
推荐指数
1
解决办法
8959
查看次数