Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.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
Python Django中的视图错误_Python_Django_Django Forms_Django Views - Fatal编程技术网

Python Django中的视图错误

Python Django中的视图错误,python,django,django-forms,django-views,Python,Django,Django Forms,Django Views,我以这种方式使用了Django的表单,但出现了一个错误: 错误:以10为基数的int()的文本无效:'check' #this is forms.py from django import forms class PersonalInfo(forms.Form): Name = forms.CharField(max_length=20) Email_ID = forms.EmailField(required=False) Ad

我以这种方式使用了Django的表单,但出现了一个错误: 错误:
以10为基数的int()的文本无效:'check
'

#this is forms.py    
from django import forms

    class PersonalInfo(forms.Form):
        Name = forms.CharField(max_length=20)
        Email_ID = forms.EmailField(required=False)
        Address = forms.CharField(max_length=50,required=False)
        Contact_Phone =  forms.CharField(max_length=20)
        Image = forms.FileField(required=False)
PersonalInfo在register.html中使用

#This is view.py, register calling register.html
    def register(request):
        form = PersonalInfo()
        return render_to_response('register.html', {'form':form}, context_instance=RequestContext(request))
在register.html中,我将使用以下方法:

            {% if form.errors %}
            <p style="color: red;">
                Please correct the error{{ form.errors|pluralize }} below.
            </p>
            {% endif %}

            <form action="/uregister/" method="post">
                <table>
                    {{ form.as_table }}
                </table>
                <input type="submit" value="Submit">
            </form>
这是models.py中的个人模型:

class Personal(models.Model):
    name = models.CharField(max_length=20)
    email = models.EmailField(blank=True,null=True)
    address = models.CharField(max_length=50,blank=True,null=True)
    contact =  models.CharField(max_length=20)
    pic = models.FileField(upload_to='image/',blank=True,null=True)
我得到的错误是:

invalid literal for int() with base 10: 'check'

Check
是我在虚拟数据中给出的名称。 谁能告诉我哪里出了问题?求你了

更新: 痕迹


我认为问题是一致的

per_job = Personal(cd['Name'], cd['Email_ID'], cd['Address'], cd['Contact_Phone'], cd['Image'])
我不知道是否可以只使用位置参数创建模型实例,但文档中没有提到。你应该:

您看到的错误可能是由于尝试将非整数值分配给具有对象ID的默认数据库字段而导致的,因此这可能是由该错误引起的


关于其他事项:

  • 图像未存储可能是因为您没有正确处理上载文件所需的
    enctype=“multipart/form data”
  • 错误不会显示,很可能是因为它们在验证后包含在表单中,而您正在用
    else:
    您的
    uregister
    视图的分支中的空实例替换它们

感谢您的回复,现在删除了以10为基数的int()的
无效文本错误:'check'
。但是,即使记录已存储。图像没有被存储,并且当文本框中的数据按下提交按钮时,表单的错误也没有显示:(@padmaprasad:Oh。还有其他一些可能会有帮助,我已经更新了答案。
Exception Type: ValueError
Exception Value:    invalid literal for int() with base 10: 'check'
Exception Location: /usr/local/lib/python2.6/dist-packages/django/db/models/fields/__init__.py in get_prep_value, line 479
Traceback:
File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/home/nagaraj/ghar/gharnivas/views.py" in uregister
  49.                 per_job.save()
File "/usr/local/lib/python2.6/dist-packages/django/db/models/base.py" in save
  460.         self.save_base(using=using, force_insert=force_insert, force_update=force_update)
File "/usr/local/lib/python2.6/dist-packages/django/db/models/base.py" in save_base
  522.                         manager.using(using).filter(pk=pk_val).exists())):
File "/usr/local/lib/python2.6/dist-packages/django/db/models/query.py" in filter
  550.         return self._filter_or_exclude(False, *args, **kwargs)
File "/usr/local/lib/python2.6/dist-packages/django/db/models/query.py" in _filter_or_exclude
  568.             clone.query.add_q(Q(*args, **kwargs))
File "/usr/local/lib/python2.6/dist-packages/django/db/models/sql/query.py" in add_q
  1172.                             can_reuse=used_aliases, force_having=force_having)
File "/usr/local/lib/python2.6/dist-packages/django/db/models/sql/query.py" in add_filter
  1107.                 connector)
File "/usr/local/lib/python2.6/dist-packages/django/db/models/sql/where.py" in add
  67.             value = obj.prepare(lookup_type, value)
File "/usr/local/lib/python2.6/dist-packages/django/db/models/sql/where.py" in prepare
  316.             return self.field.get_prep_lookup(lookup_type, value)
File "/usr/local/lib/python2.6/dist-packages/django/db/models/fields/__init__.py" in get_prep_lookup
  292.             return self.get_prep_value(value)
File "/usr/local/lib/python2.6/dist-packages/django/db/models/fields/__init__.py" in get_prep_value
  479.         return int(value)

Exception Type: ValueError at /uregister/
Exception Value: invalid literal for int() with base 10: 'check
per_job = Personal(cd['Name'], cd['Email_ID'], cd['Address'], cd['Contact_Phone'], cd['Image'])
per_job = Personal(name=cd['Name'], email=cd['Email_ID'], etc.