【问题标题】:check box always in unchecked mode after page reload页面重新加载后复选框始终处于未选中模式
【发布时间】:2013-05-08 05:38:39
【问题描述】:

forms.py

Date_Format = (
    ('0', ' dd / mm / yyyy'),
    ('1', 'mm / dd / yyyy'),
)

Time_Format = (
    ('0', ' 12 hour AM / PM '),
    ('1', ' 24 hour '),
)

class SettingsForm(forms.ModelForm):
    date_format = forms.ChoiceField(widget=forms.RadioSelect(), choices=Date_Format)
    time_format = forms.ChoiceField(widget=forms.RadioSelect(), choices=Time_Format)
    class Meta:
        model = Settings
        fields = ['date_format','time_format']

views.py

def date_format(request):
  #  settingsForm = SettingsForm({'user':request.user}) 
    settings = Settings.objects.get(user=2)
    settingsForm = SettingsForm(instance=settings) 
  #  dateformatForm = DateFormatForm()   
   # timeformatForm = TimeFormatForm()
    settingsForm = SettingsForm()
    if request.method =='POST':
      #  dateformatForm = DateFormatForm(request.POST)
      #  timeformatForm = TimeFormatForm(request.POST)
        settingsForm = SettingsForm(request.POST,instance=settings)
        if (settingsForm.is_valid()):  
            settings=settingsForm.save()
       #     timeformatForm.save()
            return redirect('/member/follow-up/') 


    return render_to_response( 'incident/date_format.html',
                  {
                   'about_menu': True,
                   'SettingsForm':settingsForm,

                 },
                 context_instance=RequestContext(request))

models.py

class Settings(models.Model):
    user = models.ForeignKey(User, null=True)
    date_format = models.CharField('Date format', max_length=100)
    time_format = models.CharField('Time format', max_length=100)

模板是

<form action="/member/date-format/" method="POST"> {% csrf_token %}
{{ SettingsForm.date_format }}
{{ SettingsForm.time_format }}
</form>

我在这里使用模型表单将表单值存储在数据库中。

如果我选择单选按钮选项。相应的值将保存在数据库中。但是选中的单选按钮将取消选中页面是否重新加载。我不知道使用什么逻辑来执行此操作。

此外,还有什么方法可以在不使用modelsForm的情况下将单选按钮的值保存在模板中。

谢谢

【问题讨论】:

    标签: django django-models django-forms django-templates django-views


    【解决方案1】:

    在你看来:

    def date_format(request):
      #  settingsForm = SettingsForm({'user':request.user}) 
        settings = Settings.objects.get(user=2)
        settingsForm = SettingsForm(instance=settings) 
      #  dateformatForm = DateFormatForm()   
       # timeformatForm = TimeFormatForm()
        settingsForm = SettingsForm()
        ....
    

    您正在使用空表单重置settingsForm,这将显示没有来自实例settings 的任何值的表单。您可能想删除该行。

    【讨论】:

      猜你喜欢
      • 2012-02-16
      • 2013-02-07
      • 2023-03-14
      • 2019-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多