Django中的表单和用户验证

时间:2013-11-16 08:47:10

标签: django python-2.7 django-forms

我开始使用django,这是一个很棒的框架。但是,我的项目是免费和高级版本。如何检查用户是否在表单中有任何特殊权限,如果没有显示正常,则在表单中给他一些额外的选项。

我希望你理解问题。

1 个答案:

答案 0 :(得分:1)

我不知道你的看法,但我认为你可以这样做:

# in forms.py

class NormalUserForm(forms.Form):
   # Your normal account form here
   name = forms.CharField()


class PremiumUserForm(NormalUserForm):
    # inherit from NormalUserForm, and add fields
    premium_field = forms.TextField()

# in views.py

def is_premium(user):
    # Find a better way
    return user.userprofile.account_type == 2


class SomtFormView(FormView):
    template = 'sometemplate.html'

    def get_form_class(self):
        if is_premium(self.request.user)
            return PremiumUserForm
        return NormalUserForm