如何在特定情况下的Django注册自定义字段中使required = false

乌斯曼·马布布尔

我已经覆盖了,Django Registration app并在注册表单中添加了一些自定义字段。

我添加了一项功能,即在选择特定值时,必填字段将隐藏。我现在在此required领域中很成功,我想针对我的特定领域将其删除

我尝试了以下方法和其他方法,但是从下拉列表中选择了值,隐藏了必填字段,但是在单击signup按钮后我得到了

在此处输入图片说明

我的代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script>
      $('#id_type').change(function(){

        var type = $(this).val();
        if(type === "dealer"){
            $('#id_dealership_name').show();
            $("label[for='id_dealership_name']").show();
        }
        else{
            $("#id_dealership_name").removeAttr("required")
            $('#id_dealership_name').hide();
            $("label[for='id_dealership_name']").hide();
        }
      });

  </script>

编辑1

表格

class DealerForm(forms.ModelForm):
    class Meta:
        model = Dealer
        exclude = ('user', 'site')

    def __init__(self, *args, **kwargs):
        super(DealerForm, self).__init__(*args, **kwargs)
        self.fields['dealership_name'].required = False

编辑2

views.py

class DealerRegistrationView(RegistrationView):
    def __init__(self, **kwargs):
        super(DealerRegistrationView, self).__init__(**kwargs)
        RegistrationForm.base_fields.update(DealerForm.base_fields)

    form_class = RegistrationForm

    def register(self, form):
        new_user = super(DealerRegistrationView, self).register(form)

        if Site._meta.installed:
            site = Site.objects.get_current()
        if form.cleaned_data['type'] == "dealer":
            new_dealer = Dealer(
                user=new_user,
                site_id=site.id,
                whatsapp=form.cleaned_data['username'],
                dealership_name=form.cleaned_data['dealership_name'],
            ).save()
乌斯曼·马布布尔

我通过在forms.py中进行更改来解决了该问题,然后对其进行了应用JavaScript并且对我有用

from django import forms
from registration.forms import RegistrationForm, RegistrationFormUniqueEmail


class DealerForm(RegistrationFormUniqueEmail):
    type = forms.ChoiceField(required=True, choices=(
        ('dealer', 'Dealer'),
        ('marketing_agent', 'Marketing Agent'),
        ('private_seller', 'Private Seller'),
        ('virtual_dealer', 'Virtual Dealer')
    ))
    dealership_name = forms.CharField(required=False, max_length=50)
    subdomain_name = forms.CharField(required=False, max_length=50)
    banner_image = forms.ImageField(required=False)
    logo_image = forms.ImageField(required=False)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

form.isValid() 在自定义注册表单 django 中总是返回 false

来自分类Dev

在某些已定义的情况下,使用类返回False

来自分类Dev

django没有在托管= False的情况下进行迁移

来自分类Dev

WordPress:根据自定义字段隐藏用户true / false

来自分类Dev

WordPress:根据自定义字段隐藏用户true / false

来自分类Dev

Django:API 中的自定义方法调用返回 false

来自分类Dev

如何在不使用Xcode的情况下链接CocoaPods库(integrate_targets为false)

来自分类Dev

如何在默认情况下(即“ false”)获取bool变量

来自分类Dev

如何(false == false == true)为true

来自分类Dev

如何在特定情况下捕获OnTouchEvent?

来自分类Dev

未定义false

来自分类Dev

如何删除'null:false'

来自分类Dev

如何撤消.click(false)

来自分类Dev

如何在条件为true的情况下选择一行,在条件为false的情况下如何选择所有行?

来自分类Dev

默认情况下,布尔值字段的JSON Post请求发送false

来自分类Dev

如何在不注册接收方号码的情况下使用twilio whatsapp发送自定义通知?

来自分类Dev

如何在不使用if语句的情况下通过使用True和False检查多列来返回列

来自分类Dev

如何在不实际启动活动的情况下检查外部应用程序的活动是否为“ exported = false”

来自分类Dev

c - 如何在不使用c中的关系运算符的情况下返回true或false?

来自分类Dev

在什么情况下PDO:execute()会返回false?

来自分类Dev

在什么情况下ConcurrentDictionary.TryRemove()返回false?

来自分类Dev

在哪种情况下,PHP排序函数返回FALSE?

来自分类Dev

为什么在这种情况下UniquelyReferencedNonObjC返回false?

来自分类Dev

在哪些情况下NavigationService.CanGoBack返回false?

来自分类Dev

在什么情况下ConcurrentDictionary.TryRemove()返回false?

来自分类Dev

在什么情况下PDO:execute()会返回false?

来自分类Dev

在哪些情况下NavigationService.CanGoBack返回false?

来自分类Dev

在我的情况下,javascript 总是返回 false

来自分类Dev

为什么在不使用weak = False的情况下删除Django信号?

Related 相关文章

  1. 1

    form.isValid() 在自定义注册表单 django 中总是返回 false

  2. 2

    在某些已定义的情况下,使用类返回False

  3. 3

    django没有在托管= False的情况下进行迁移

  4. 4

    WordPress:根据自定义字段隐藏用户true / false

  5. 5

    WordPress:根据自定义字段隐藏用户true / false

  6. 6

    Django:API 中的自定义方法调用返回 false

  7. 7

    如何在不使用Xcode的情况下链接CocoaPods库(integrate_targets为false)

  8. 8

    如何在默认情况下(即“ false”)获取bool变量

  9. 9

    如何(false == false == true)为true

  10. 10

    如何在特定情况下捕获OnTouchEvent?

  11. 11

    未定义false

  12. 12

    如何删除'null:false'

  13. 13

    如何撤消.click(false)

  14. 14

    如何在条件为true的情况下选择一行,在条件为false的情况下如何选择所有行?

  15. 15

    默认情况下,布尔值字段的JSON Post请求发送false

  16. 16

    如何在不注册接收方号码的情况下使用twilio whatsapp发送自定义通知?

  17. 17

    如何在不使用if语句的情况下通过使用True和False检查多列来返回列

  18. 18

    如何在不实际启动活动的情况下检查外部应用程序的活动是否为“ exported = false”

  19. 19

    c - 如何在不使用c中的关系运算符的情况下返回true或false?

  20. 20

    在什么情况下PDO:execute()会返回false?

  21. 21

    在什么情况下ConcurrentDictionary.TryRemove()返回false?

  22. 22

    在哪种情况下,PHP排序函数返回FALSE?

  23. 23

    为什么在这种情况下UniquelyReferencedNonObjC返回false?

  24. 24

    在哪些情况下NavigationService.CanGoBack返回false?

  25. 25

    在什么情况下ConcurrentDictionary.TryRemove()返回false?

  26. 26

    在什么情况下PDO:execute()会返回false?

  27. 27

    在哪些情况下NavigationService.CanGoBack返回false?

  28. 28

    在我的情况下,javascript 总是返回 false

  29. 29

    为什么在不使用weak = False的情况下删除Django信号?

热门标签

归档