Для начала нужно написать подпись функции.Поскольку это функция, а не класс, рекомендуемое имя меняется на ledger1_detail_view
.Декоратор login_required
выполняет ту же работу, что и LoginRequiredMixin
.
Затем вам нужно получить объект.Это похоже на код в get_object
.Обратите внимание, что у вас больше нет self.kwargs
, у вас есть pk1
и pk2
из сигнатуры функции.
Затем вам нужно создать контекстный словарь.Это будет похоже на ваш метод get_context_data
.
Наконец, вы можете использовать ярлык render
для визуализации шаблона.
Соединив его, структура вашего представления будет:
from django.contrib.auth.decorators import login_required
@login_required
def ledger1_detail_view(request, pk1, pk2):
get_object_or_404(company, pk=pk1)
ledger = get_object_or_404(ledger1, pk=pk2)
context = {}
context['ledger1_details'] = ledger
# Add other items to the context
...
return render(request, 'accounting_double_entry/ledger1_details.html', context)
Не забудьте изменить шаблон URL, чтобы использовать новый вид:
url(r'^company/(?P<pk1>\d+)/ledgerdetail/(?P<pk2>\d+)/$', views. ledger1_detail_view, name='ledgerdetail'),