django - 如何使用 django 使用 datefield 检索数据?
问题描述
我需要使用 Django 日期字段从数据库中检索数据。尝试使用 Datefield 检索数据。我正在使用 Django 2.0、Bootstrap 4、PostgreSQL。
#forms.py
from django import forms
class StatusReportForm(forms.Form):
created_date=forms.DateField(widget=forms.TextInput(attrs=
{
'class':'datepicker'
}))
#views.py
from django.shortcuts import render, get_object_or_404
# Create your views here.
from django.views.generic import DetailView
from .models import Statusreport
from .forms import StatusReportForm
def statusreport(request):
form = StatusReportForm()
context = {
form: form
}
return render(request, "statusreport.html", context)
class StatusReportDetailView(DetailView):
model = Statusreport
template_name = 'statusreport-detail.html'
def get_object(self):
instance = get_object_or_404(Statusreport, slug=self.kwargs['slug'])
return instance
#models.py
class Statusreport(models.Model):
created_date= models.DateField()
taskname = models.CharField(max_length=200)
slug = models.SlugField(null=True, blank=True)
def __str__(self):
return self.taskname
def get_absolute_url(self):
return reverse('statusreport:statusreport-detail', kwargs={'slug':
self.slug})
def pre_save_statusreport_receiver(instance, *args, **kwargs):
if not instance.slug:
instance.slug = instance.created_date
pre_save.connect(pre_save_statusreport_receiver, sender= Statusreport)
#statusreport.html
<main class="container">
<form>
<div class="row" style="padding-top: 100px">
<div class="col">
<label class = 'control-label' for="date">Select Date: </label>
<input data-date-format="dd/mm/yyyy" id="datepicker">
</br>
</br>
<a href="#" class="btn btn-info btn-md active" role="button"
aria-pressed="true">Get Reports</a>
</div>
</div>
</form>
</main>
<script type="text/javascript">
$('#datepicker').datepicker({
weekStart: 1,
daysOfWeekHighlighted: "6,0",
autoclose: true,
todayHighlight: true,
});
$('#datepicker').datepicker("setDate", new Date());
</script>
注意:我需要它像从那里单击“获取报告”按钮一样工作,它需要移动到http://localhost:8000/statusreport/ {{created_date}}/
但我无法得到报告。
解决方案
<form method=POST action={% url 'get_posts_from'%}>
{% csrf_token %}
<div class="row" style="padding-top: 100px">
<div class="col">
<label class = 'control-label' for="date">Select Date: </label>
<input name='date-needed' data-date-format="dd/mm/yyyy" id="datepicker">
</br>
</br>
<a href="#" class="btn btn-info btn-md active" role="button"
aria-pressed="true">Get Reports</a>
</div>
</div>
</form>
首先,您必须使您的表单方法发布
然后您将action
哪个是您的 url 添加到将管理已发布数据的视图中
然后添加csrf_token
到表单
那么当你去你的观点时,你必须name
给予#datepicker
你得到了request.POST["date"]
在表格中选择的日期
在里面urls.py
url(r'^(?P<date>\d{4}-\d{2}-\d{2})/$', views.get_posts_from, name='get_posts_from')
然后在视图中
def get_posts_from(request, date):
if request.method =="POST":
date = request.POST['date']
#here you put your logic the date can be either picked from
#the post or even trough the URL on his own
return HttpResponse("POSTS from",date)
推荐阅读
- r - R将基于标题名称的列与第二个数据帧中的值相乘
- c# - 如果值来自绑定,则 DependencyProperty 不起作用
- python - Use ToggleButton
- chromecast - 尝试更改 *.mpd 曲目时应用程序获得 ANR
- r - 将额外的参数传递给 devtools::build
- r - 为什么我不能以闪亮的方式返回以前查看过的页面?
- crash - 总线错误的可能原因:不存在的物理地址
- react-native - 使用抽屉导航时出错 - 未定义不是对象(评估“_this.props.navigationProps.toggleDrawer”)
- google-apps-script - 如何防止随机化公式在工作表中的每次更改时随机化?
- android - Android Q (SDK 29) 上的 ContentResolver 无效列错误