Django-在html输入标签中获取日期值

时间:2018-08-21 13:01:02

标签: python html django django-models

我正在尝试将日期设置为表单中输入的日期的值。但是,您可能已经猜到了,它不起作用。
这是我模板中的内容:

<form method="POST">
{% csrf_token %}

<label for="address">Address:</label>
<textarea name="address">{{user.address}}</textarea>
<label for="DOB">DOB:</label>
<input type="date" name="DOB" value="{{user.dob|date:'Y-m-d'}}">    
<button type="submit">Submit</button>
<button type="reset">Reset</button>
<a href="{% url 'view_profile' %}">cancel</a>

这是我的模特:

sys_id = models.AutoField(primary_key=True, blank=True)
email = models.EmailField(
    verbose_name='email address',
    max_length=255,
    unique=True,
)
first_name = models.CharField(max_length=50,blank=True,null=True)
last_name = models.CharField(max_length=50,blank=True,null=True)
address = models.TextField(max_length=300,blank=True,null=True)
DOB = models.DateField('Date of Birth', blank=True, null=True)
DOJ = models.DateTimeField(auto_now=True)
active = models.BooleanField(default=True)
staff = models.BooleanField(default=False) # a admin user; non super-user
admin = models.BooleanField(default=False)

这是我的表格:

class EditProfileForm(UserChangeForm):
class Meta:
    model = User
    fields = ('address','DOB','password')

这是我的观点:

def edit_profile(request):
if request.method == 'POST':
    user_form = EditProfileForm(request.POST or None,instance=request.user)
    if user_form.is_valid(): 
        user_form.save()
        return redirect('view_profile')
else:
    user_form = EditProfileForm(request.POST or None,instance=request.user)
return render(request,'edit_profile.html',{'user_form':user_form,})

我有2个问题
1:当我编辑个人资料时,无法在编辑页面中获取出生日期的值。
2:在注册时,我无法通过注册表格获取日历,因此我无法告诉用户输入DOB的用户格式,即在注册时显示类型=“ text”

  <h2>Sign up</h2>
  <form  method="post">
    {% csrf_token %}
    {{ user_form.as_p }}
   <button type="submit">Sign up</button>
  </form>

1 个答案:

答案 0 :(得分:-1)

{{user.DOB|date:'Y-m-d'}}

我认为您的单词拼写错误。