如何将日期从表单转移到django代码(datepicker form to value(htmx))?

eagi6jfj  于 2023-01-06  发布在  Go
关注(0)|答案(1)|浏览(112)

晚上好!
我有一个标准的日期选择器表单,我正在尝试找出如何获取开始和结束日期值,表单中至少有一个日期值用于各种Python计算,我有一个数据表,其中的数据按日期排序,我只需要从给定的表中获取特定的行,在代码中有值,我需要以某种方式捕获日期值并将该值发送到代码中。也许有一些现代的方法可以从html或htmx表单中获取数据?
我已经思考了很长一段时间,为了从表单中获取数据并将其放入代码中进行某种计算处理,可以做些什么以及如何做。
我将非常感谢任何提示,帮助。
models.py

from django.db import models
 
class Offer(models.Model):
    expiration_date = models.DateField(null=True)

forms.py

from django import forms
from django.forms import ModelForm
from .models import Offer
 
class DateInput(forms.DateInput):
    input_type = 'date'
 
class OfferForm(forms.ModelForm):
    class Meta:
        model = Offer
    fields = fields = '__all__'
    widgets = {
            'expiration_date': DateInput(),
        }

模板

<form action="" enctype="multipart/form-data" method="POST">
{% csrf_token %}  
{{ form|crispy }}
<input type="submit" name="submit" value="Submit">
</form>
ldioqlga

ldioqlga1#

您必须在www.example.com文件中声明这一点views.py,如下所示:

def your_view_function(request):
if request.method == 'POST':
    form = OfferForm(request.POST)
    if form.is_valid():
        start_date = form.cleaned_data['start_date']
        end_date = form.cleaned_data['end_date']
        # Do something with the start and end dates here
else:
    form = OfferForm()
return render(request, 'template.html', {'form': form})

然后,您可以使用这些日期值,使用Offer.objects.filter(expiration_date__range=[start_date,end_date])之类的查询集来过滤数据表中的行。

相关问题