TypeError at / registration __init __()得到一个意想不到的关键字参数'null' [英] TypeError at /registration __init__() got an unexpected keyword argument 'null'
问题描述
请求方法:GET
请求URL: http://127.0.0.1:8000/registration
Django版本:1.3.1
异常类型:TypeError
异常值:
Request Method: GET Request URL: http://127.0.0.1:8000/registration Django Version: 1.3.1 Exception Type: TypeError Exception Value:
__ init __ )
得到一个意想不到的关键字参数'null'
__init__()
got an unexpected keyword argument 'null'
异常位置:
/usr/local/lib/python2.7/dist-packages/django/forms/fields.py in
init ,第196行Python可执行文件:/ usr / bin / python Python版本:2.7.2 Python路径:
Exception Location: /usr/local/lib/python2.7/dist-packages/django/forms/fields.py in init, line 196 Python Executable: /usr/bin/python Python Version: 2.7.2 Python Path:
['/ home / forent / myprograms / mysite7',
'/ usr / local /lib/python2.7/dist-packages/oauth2-1.5.211-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages',
' /usr/local/lib/python2.7/dist-packages/python_twitter-0.8.2-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/ipython- 0.12-py2.7.egg',
'/usr/lib/python2.7','/ usr / lib / python 2.7 / plat-linux2',
'/usr/lib/python2.7/lib-tk','/usr/lib/python2.7/lib-old',
'/ usr / lib /python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages'
'/usr/lib/python2.7/dist-packages/PIL',
'/usr/lib/python2.7/dist-packages/gst-0.10',
'/ usr / lib / python2.7 / dist-packages / gtk-2.0',
'/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-软件包/ ubuntu-sso-client',
'/usr/lib/python2.7/dist-packages/ubuntuone-client',
'/usr/lib/python2.7/dist-packages/ ubuntuone-control-panel',
'/usr/lib/python2.7/dist-packages/ubuntuone-couch',
'/usr/lib/python2.7/dist-packages/ubuntuone-安装程序',
'/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']
['/home/forent/myprograms/mysite7', '/usr/local/lib/python2.7/dist-packages/oauth2-1.5.211-py2.7.egg', '/usr/local/lib/python2.7/dist-packages', '/usr/local/lib/python2.7/dist-packages/python_twitter-0.8.2-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/ipython-0.12-py2.7.egg', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', '/usr/lib/python2.7/dist-packages/ubuntuone-installer', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']
服务器时间:1月27日,星期五2012 11:11:22 -0600
Server time: Fri, 27 Jan 2012 11:11:22 -0600
#
view
from django.shortcuts import render_to_response
from registration.models import UserDetails
from forms import UserForm
from django.template import RequestContext
from django.http import HttpResponseRedirect
def user_details(request):
if request.method=="POST":
uform=UserForm(request.POST)
if uform.is_valid():
profile=uform.save(commit=False)
profile.save()
else:
uform=UserForm()
return render_to_response('career.html',{'uform':uform},context_instance=RequestContext(request))
#model
from django.db import models
class UserDetails(models.Model):
fname=models.CharField(max_length=20)
lname=models.CharField(max_length=20)
email = models.EmailField()
address = models.CharField(max_length=50)
country = models.CharField(max_length=20)
def __unicode__(self):
return self.fname
return self.lname
return self.email
return self.address
return self.country
#forms
from django import forms
from registration.models import UserDetails
class UserForm(forms.Form ):
fname=forms.CharField(max_length=20, null=True,blank=True)
lname=forms.CharField(max_length=20, null=True,blank=True)
email = forms.EmailField(blank=True, null=True)
address = forms.CharField(max_length=50, null=True,blank=True)
country = forms.CharField(max_length=20, null=True,blank=True)
#urls
from django.conf.urls.defaults import patterns, include, url
from django.contrib import admin
admin.autodiscover()
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()
urlpatterns = patterns('',
# Examples:
url(r'^registration/$', 'registration.views.user_details', name='user_details'),
# url(r'^mysite7/', include('mysite7.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
)
#template
<form enctype="multipart/form-data" method="post">{% csrf_token %}
{{ uform.as_p }}
<input type="submit" ....>
</form>
这是我写的代码..
推荐答案
表单字段没有 null
或空白
参数。这些仅用于模型场。对于表单字段,您只需要需要
。
Form fields don't have null
or blank
arguments. Those are for model fields only. For form fields, you just have required
.
但是,您应该真正使用 ModelForm 将从模型中为您创建表单域,并允许您保存。
However, you should really be using a ModelForm which will create the form fields for you from the model, and allow you to save it afterwards.
这篇关于TypeError at / registration __init __()得到一个意想不到的关键字参数'null'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!