在 Django 中作業,我在這樣的表單上提交了一個日期范圍:
<input type="text" class="form-control vans-dates-form-input" id="formGroupExampleInput" placeholder="Example input" name="daterange" value="02/01/2022 - 02/15/2022" />
我將其傳遞給一個視圖,并希望將起始日期和結束日期分開,以便我有一個可以使用的“date_from”和“date_to”。
這是我的看法:
from datetime import datetime
from django.shortcuts import render, get_object_or_404
from vans.models import Van
def booking(request):
"""This view returns the booking form page"""
return render(request, 'booking/booking.html')
def add_to_cart(request, item_id):
"""Adds the van booking to the cart"""
van = get_object_or_404(Van, pk=item_id)
# This will return the date range as a string
date_range_str = request.POST.get('daterange')
# In order to work with it I need it as two dates, date_from and date_to
return render(request, 'booking/cart.html')
uj5u.com熱心網友回復:
因為你有一個固定的格式來接收日期范圍你可以做的是在你的views.py from datetime import datetime as dt
def add_to_cart(request, item_id):
"""Adds the van booking to the cart"""
van = get_object_or_404(Van, pk=item_id)
# This will return the date range as a string
date_range_str = request.POST.get('daterange')
date_range_lst = [data.strip() for data in date_range_str.split('-')]
date_from = date_range_lst[0]
date_to = date_range_lst[1]
# if you want to convert it to datetime object you can change it using:
date_from = dt.strftime(date_range_lst[0], '%m/%d/%Y')
date_to = dt.strftime(date_range_lst[1], '%m/%d/%Y')
return render(request, 'booking/cart.html')
uj5u.com熱心網友回復:
好吧,你很幸運,pandas 有一個名為 convent 和恰當命名的函式pd.date_range,它接受一個start和end日期引數,以及一個頻率。
更多在官方檔案中
pd.date_range('01 Jan 2022', '05 Jan 2022', freq='D')
DatetimeIndex(['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04',
'2022-01-05'],
dtype='datetime64[ns]', freq='D')
每個物件都是一種pandas._libs.tslibs.timestamps.Timestamp型別,因此您可以應用任意數量的操作,例如計算或其他。
我建議只是在您的資料庫中創建一個日歷表,您可以加入該表以獲取您的頻率,但我想這是主觀的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/424756.html
