У меня есть типичная форма, где пользователи могут поместить свои значения, отправить форму и увидеть результаты в таблице:
class ScanForm(form.ModelForm):
""" Creating a form for Scan results """
value = forms.DecimalField(widget=forms.NumberInput(
attrs={
'class': 'form-control',
'placeholder': 'Value',
'max': '500',
}
))
count = forms.DecimalField(widget=forms.NumberInput(
attrs={
'class': 'form-control',
'placeholder': 'Amount',
'max': '400',
}
))
class Meta:
""" Adding choice of interval and exclude unused fields """
model = ScannedValue
exclude = ('scan_date',)
widgets = {
'interval': forms.Select(
attrs={
'class': 'form-control',
}),
}
Я как обычно отображаю эту форму в файле index.html.
И он работает нормально, когда я помещаю все данные и нажимаю кнопку «Отправить».
Но мне нужно автоматически отправить эту форму с заполненными значениями (скажем, для 'value' = 5, 'count' = 10) в определенное время, скажем, в 01:00 вечера каждый день. Затем мне нужно проанализировать все полученные данные с помощью функции в моих представлениях после отправки формы, а затем сохранить результаты в базе данных. Какой самый лучший и самый правильный способ сделать это?
Вот функция в views.py:
def scans(request):
form = ScanForm(request.POST or None)
if request.method == 'POST':
if form.is_valid():
def fetch_scan(interval='1', amount=10, value=5):
# doing_some_stuff
else:
form = ScanForm()
Так что я хочу запускать функцию fetch_scan () только автоматически в определенное время с моими аргументами каждый день.