phi*_*o20 3 python django django-forms
我的一个表单在form.is_valid()上失败
第一次调试Django表单时,我不太确定在哪里查找
表格
class ImageForm(forms.ModelForm):
def __init__(self,user,*args,**kwargs):
super(ImageForm,self ).__init__(*args,**kwargs) # populates the form
class Meta:
model = KMSImageP
fields = ('name',
'caption',
'image',
)
Run Code Online (Sandbox Code Playgroud)
models.py
from photologue.models import ImageModel
class KMSImageP(ImageModel):
name = models.CharField(max_length=100)
slug = AutoSlugField(max_length=45, unique=True, populate_from='name')
num_views = models.PositiveIntegerField(editable=False, default=0)
caption = models.TextField(_('caption'), blank
Run Code Online (Sandbox Code Playgroud)
收到
>>>> image_form.__dict__['_errors']
>>>>django.forms.util.ErrorDict({'image': django.forms.util.ErrorList([<django.utils.functional.__proxy__ object at 0xecc770>])})
Run Code Online (Sandbox Code Playgroud)
因此,我猜我的“图像”字段(从抽象基类继承的ImageField)是失败的原因,但我不知道为什么。
我尝试将属性的类型更改为FileField(因为我的其他表单使用FileField可以正常上传),但仍然失败...无论如何,我一无所知...
您确实应该学习如何将调试器与Django一起使用,并且它是内置在服务器中的-它为我节省了很多打印/目录表达式,以及无休止的edit-run-observe输出-edit迭代。
调试python应用程序的最基本方法是使用pdb ,就像插入以下两行代码一样简单:
import pdb
pdb.set_trace()
Run Code Online (Sandbox Code Playgroud)
在要调试的那部分代码中。一旦执行了第二行,程序即会在该点处停止执行,您必须切换到控制台,然后才能观察变量的状态和内容,执行下一行,转到下一个断点等等。只需输入?然后按回车。当然,如果您使用足够复杂的IDE调试要比这简单得多,但这应该可以使您大致了解如何使用调试器。
| 归档时间: |
|
| 查看次数: |
4159 次 |
| 最近记录: |