Initializing DateTimeField in django forms.

已查看 152 次
跳至第一个未读帖子

prince gosavi

未读,
2018年2月19日 09:22:052018/2/19
收件人 Django users
Hi,

I am building a simple django application for user feedback. And I have created a form for that purpose.

Here is the snippet:
# my_app/forms.py

from django import forms
import datetime
class UserQueryForm(forms.Form):
    date
= forms.DateField(initial=datetime.date.today) # need help
    username
= forms.CharField(label='Username:', max_length=15)
    mobilenos
= forms.CharField(max_length=10, label='Mobile Nos')


And here is my template:
<!--my_app/templates/my_app/form.html-->
<form action="" method="POST">
    {% csrf_token %}
   
<h1>Date:</h1>
    {{ form.date }}
    {{ form.username.label}}
    {{ form.username }}
   
<br />
    {{ form.mobilenos.label}}
    {{ form.mobilenos}}
   
<br />
   
<input type="submit" value="Submit">
 
</form>

I would like to initialize the date so that it is automatically set to today's date when the page loads.
All suggestions are welcomed.

Regards,

Rajkumar

Etienne Robillard

未读,
2018年2月19日 09:41:082018/2/19
收件人 prince gosavi、django...@googlegroups.com

How does your view looks like?

Etienne

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/a5a9a34f-f21e-48fc-bc3c-7ec25c73b017%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

-- 
Etienne Robillard
tka...@yandex.com
https://www.isotopesoftware.ca/

prince gosavi

未读,
2018年2月19日 10:31:542018/2/19
收件人 Django users
# my_app/views.py
from django.shortcuts import render, get_object_or_404

# Create your views here.
from .models import User
from .forms import UserQueryForm
def home(request): # home page
    a_list
= User.objects.filter()
   
for item in a_list:
        context
= {'username': item.username,'contact_info': item.mobile_nos, 'req_date': item.request_date}
       
print(item.username)
       
return render(request, 'userinfo/information.html', context)

def query_form(request): # the concerned view
   
if request.method == 'POST':
        form
= UserQueryForm(request.POST)
       
if form.is_valid():
            get_date
= request.POST['date']
            get_username
= request.POST['username']
            get_mobile_nos
= request.POST['mobilenos']
            context
={'username':get_username, 'contact_info': get_mobile_nos, 'req_date': get_datetime}
           
return render(request, 'userinfo/information.html', context)
   
else:
        form
= UserQueryForm()
   
return render(request, 'userinfo/form.html',{ 'form': form })

Etienne Robillard

未读,
2018年2月19日 11:07:072018/2/19
收件人 prince gosavi、django...@googlegroups.com

i think you need to replace:

form = UserQueryForm()

with

form = UserQueryForm(initial={'date': date})

See: https://docs.djangoproject.com/en/2.0/ref/forms/api/

Etienne

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.

For more options, visit https://groups.google.com/d/optout.

prince gosavi

未读,
2018年2月19日 11:37:402018/2/19
收件人 Django users
That did the job.But I would like to get rid of the 'Field' type view that surrounds the date. As I only want to display the date.
Is there a way to do it in the form itself or any way to change it in the templates?


On Monday, February 19, 2018 at 7:52:05 PM UTC+5:30, prince gosavi wrote:
django.png

Jani Tiainen

未读,
2018年2月19日 13:11:392018/2/19
收件人 django...@googlegroups.com
Hi.

If you want to display only date why aren't you doing it in template rather than trying to make form to just display value.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.

To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.

Ryan Nowakowski

未读,
2018年2月20日 17:58:372018/2/20
收件人 django...@googlegroups.com
You could make the date field "disabled":
https://docs.djangoproject.com/en/2.0/ref/forms/fields/#disabled
> > I would like to initialize the *date *so that it is automatically set to
> > today's date when the page loads.
> > All suggestions are welcomed.
> >
> > Regards,
> >
> > Rajkumar
> >
>
> --
> You received this message because you are subscribed to the Google Groups "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
回复全部
回复作者
转发
0 个新帖子