Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在将表单数据提交到数据库之前,请更改视图django中的一些字段数据_Django_Django Forms_Django Templates_Django Views - Fatal编程技术网

在将表单数据提交到数据库之前,请更改视图django中的一些字段数据

在将表单数据提交到数据库之前,请更改视图django中的一些字段数据,django,django-forms,django-templates,django-views,Django,Django Forms,Django Templates,Django Views,您好,我的表单是这样的,当我提交它时,它会转到“我附加的视图”,例如,我想在提交之前在名称字段中的字符串之间添加破折号。那么,在我看来,我怎样才能做到这一点呢 Form.html 当我提交的时候,它就进入了那个视图 View.py 我得到的是'obj=self.form.save(commit=False)然后name=obj.name'我得到的是'obj=self.form.save(commit=False)然后name=obj.name' name = models.CharField(m

您好,我的表单是这样的,当我提交它时,它会转到“我附加的视图”,例如,我想在提交之前在名称字段中的字符串之间添加破折号。那么,在我看来,我怎样才能做到这一点呢

Form.html

当我提交的时候,它就进入了那个视图

View.py


我得到的是'obj=self.form.save(commit=False)然后name=obj.name'我得到的是'obj=self.form.save(commit=False)然后name=obj.name'
name = models.CharField(max_length=255, help_text='The name of this map.')

subtitle = models.CharField(max_length=255, null=True, blank=True,
                            help_text='If(unbolded)')
def save_form_if_appropriate(self, attr):
        if self.request.method == 'POST':
            if self.site_acl >= self.acl.ADMIN or self.is_modifying_self(attr):
                if self.form.is_valid():
                    if attr == 'user':
                        obj = self.form.save(commit=False)
                        # this way we can keep record of the users creator.
                        obj.parent_id = self.request.user
                        if hasattr(obj, 'user_type') and obj.user_type != 'pro':
                            obj.sub_users_allowed = 0
                        obj.save()
                    else:
                        self.form.save()

                    messages.success(self.request, 'Thing saved.')
                    return True
                else:
                    messages.warning(self.request, self.form.errors)
                    # messages.warning(self.request, 'Thing was invalid, and couldn\'t be saved.')
            else:
                messages.warning(self.request, 'You don\t have permission to save that thing.')
        return False
def save_form_if_appropriate(self, attr):
    if not self.request.method == 'POST':
        return False

    if not (self.site_acl >= self.acl.ADMIN or self.is_modifying_self(attr)):
        messages.warning(self.request, 'You don\t have permission to save that thing.')
        return False

    if not self.form.is_valid():
        messages.warning(self.request, self.form.errors)
        return False

    obj = self.form.save(commit=False)
    if attr == 'user':
        # this way we can keep record of the users creator.
        obj.parent_id = self.request.user
        if hasattr(obj, 'user_type') and obj.user_type != 'pro':
            obj.sub_users_allowed = 0

    # Here you can do whatever you want on the object
    # For example joining string in names
    obj.name = '-'.join(obj.name.split(' '))

    obj.save()
    messages.success(self.request, 'Thing saved.')
    return True