Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wiseplat
GitHub Repository: wiseplat/python-code
Path: blob/master/ invest-robot-contest_tinkoff_trading_contest-main/tinkoff_contest/backtesting_app/views.py
5929 views
1
from django.shortcuts import render, redirect
2
from django.views import View
3
import json
4
5
from .forms import StrategyForm, BacktestStockForm
6
from .models import StrategyConfig
7
8
# Create your views here.
9
10
11
class Backtest(View):
12
13
@staticmethod
14
def get(request):
15
context = {
16
'Strategies': 1,
17
'StrategyForm': StrategyForm(),
18
}
19
20
return render(request, "backtesting_app/choose_strat.html", context)
21
22
@staticmethod
23
def post(request):
24
return redirect(to='backtest_config', pk=request.POST['strategy'])
25
26
27
class BacktestConfig(View):
28
29
@staticmethod
30
def get(request, pk):
31
try:
32
choosen_config = StrategyConfig.objects.filter(strategy__id=pk)[0].configuration
33
context = {
34
'config': choosen_config,
35
'time': BacktestStockForm(),
36
'button': 'Применить',
37
}
38
except IndexError:
39
context = {
40
'error': 'Стратегии с таким id не существует',
41
'button': 'Назад',
42
}
43
44
return render(request, "backtesting_app/strategy_config.html", context)
45
46
@staticmethod
47
def post(request, pk):
48
if len(request.POST) == 1:
49
return redirect(to='backtest')
50
51
return redirect(to='backtest')
52
53
54
55