相关疑难解决方法(0)

Django:访问forms.py clean函数中的请求

嗨Stackoverflow人,

在forms.py中的clean函数中,我想在会话变量中自动保存一些信息.但是,我似乎无法访问请求变量.

切换请求变量的所有示例都基于基于函数的视图,但在这里我使用的是基于类的视图.

我的forms.py:

from django import forms
from item.models import Item

class CreateItemForm(forms.ModelForm):
    class Meta:
        model = Item
        fields = ('name', 'description')

    def __init__(self, request, *args, **kwargs):
        self.request = request
        super(CreateItemForm, self).__init__(*args, **kwargs)

    def clean(self):
        cleaned_data = super(CreateItemForm, self).clean()
        if cleaned_data.get("address"):
            self.request.session['name'] = cleaned_data.get("name") 
        else:
            raise forms.ValidationError(_('Oops, can\'t find location.'))
        return self.cleaned_data
Run Code Online (Sandbox Code Playgroud)

我的views.py:

from django.views.generic.edit import FormView
from item.forms import CreateItemForm

class ItemCreate(FormView):
    form_class = CreateItemForm 
    template_name = 'item/item_create.html' 
    success_url = 'http://www.google.com'
Run Code Online (Sandbox Code Playgroud)

request将views.py中的变量移交给forms.py 的最佳方法是什么?

谢谢您的回答.

django request django-forms django-class-based-views

12
推荐指数
1
解决办法
6043
查看次数

密码更改后显示消息?

我正在使用django提供的默认更改密码机制.

我正在使用post_change_redirect提交的表单直接返回我的设置页面,但是我想显示一条消息,向用户保证操作已成功.如何通过密码更改成功检测我是否到达设置视图,并为此添加消息?

django django-authentication

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