Django 1.4 Want to make birthdate field utilizing SelectDateWidget not required on my form -


i trying create form user change profile account information on own. have can update first, last , username, gender , 'birthdate'. 'birthdate' 1 can't not required. form checks if no input given in of forms fields , not update users information if no changes made.

~~models.py~~

class account(models.model):     user               = models.onetoonefield(user)      #link (pointer) users     other information in user model                                             birthdate          = models.datefield(blank = true, null = true) # true makes field optional                                                             gender             = models.charfield(max_length = 10, choices = gender_choice, null = true, blank = true)     profilepic         = models.imagefield(upload_to = "profilepics/%y/%m/%d", default = "profilepics/default.jpg", blank = true) 

--form gather user setting changes

class editaccountform(forms.form):     username           = forms.charfield(max_length = 30, required = false)     first_name         = forms.charfield(max_length = 30, required = false)     last_name          = forms.charfield(max_length = 30, required = false)     birthdate          = forms.datefield(widget = selectdatewidget(required = false, years = range(2022, 1930, -1))) # make birthdate drop down selectable         gender             = forms.charfield(max_length = 10, widget=forms.select(choices = gender_choice),)# null = true)                  

~~views.py

def accountsettings(request):     sluggedsettingerror = request.get.get('error', '') # error message slugged character                                                                     settingerror = sluggedsettingerror.replace('-', ' ')     # form variable may need inside below if statement                                                                                                      settingform = editaccountform(request.post or none) # variable called in edit_user.html                                                                    if request.method == 'post':         if settingform.is_valid():              usersettings = request.user.get_profile() # returns current settings of users profile  if request.post['gender'] == '---':                 print "gender not changed"             else:                 usersettings.gender = request.post['gender']  # add check birthdate submission                                                                      usersettings.birthdate = settingform.cleaned_data.get('birthdate')   # requires input format yyyy-mm-dd                                             # check if first name submission not changed                                                                                                           if request.post['first_name'] == '':                 print "first name not changed"             else:                 usersettings.user.first_name = request.post['first_name']             # check if last name submission not changed                                                                                                            if request.post['last_name'] == '':                 print "last name not changed"             else:                 usersettings.user.last_name = request.post['last_name']             # check if username submission not changed                                                                                                             if request.post['username'] == '':                 print "username not changed"             else:                 usersettings.user.username = request.post['username']             # check if profilepicture submission not changed                                                                                           #                if request.post['profilepic'] == none: #                    print "profile picture not changed" #                else: #                    usersettings.profilepic = request.post['profilepic']             usersettings.user.save()              # save changes fields in used auth library                                                          usersettings.save()                   # save altered , unaltered settings                                                                               return httpresponseredirect('/')     return render_to_response("user_settings.html", {'settingform': settingform, 'settingerror': settingerror}, context_instance = requestcontext(request)) 

is there way make birthdate field not required whilst using selectdatewidget() since current attempt of required = false not work. or possibly better method allow user edit settings , submit changes?

thanks in advanced.

i expect problem derives fact that:

settingform.cleaned_data.get('birthdate') 

won't return none hands empty string '' isn't date or datetime field expects.

you should return nonetype if user hasn't selected date.


Comments

Popular posts from this blog

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -

php - Controller/JToolBar not working in Joomla 2.5 -