我有一个 django 应用程序,其中我有以下表格
class AddressForm(forms.Form):
address = forms.CharField(required=False, widget=forms.TextInput(attrs={'size': 20}))
city = forms.CharField(required=False, widget=forms.TextInput(attrs={'size': 15}))
state = forms.ChoiceField(choices=settings.SITE_STATE_CHOICES)
zipcode = USZipCodeField(required=False, widget=forms.TextInput(attrs={'size': 10}))
我的观点如下
def process_address(request):
if request.method == 'POST':
form = AddressForm(request.GET)
if form.is_valid():
..........
..........
..........
当我处理上述视图时,request.GET 字典是{'city': 'Monroeville', 'state': 'PA', 'zipcode': '15146', 'address': '700 Beatty Rd #355'}
在这里,当我从页面的前端正常处理视图时,表单正在验证并返回True
,但是当我使用celery
(如我使用delay
celery 提供的方法)处理相同的视图时,表单没有验证并返回False
。
所以我真的很困惑为什么当我们在后台从 celery 处理表单时 django 无法验证表单,我所做的只是运行像process_address.delay(request)
.
我们需要为 celery 选项设置什么来验证表单吗?一样吗?