@apheyhys

Как переписать FBV в CBV?

Немного нестандартная views. Текстовый файл построчно читается, а затем выводится в template через pagination.
Как перевести представление в Class-Based Views?

def novel_text(request, slug):
    get_file = Novel.objects.get(slug=slug).novel_txt
    file_path = os.path.join('media', str(get_file))

    with open(file_path) as f:
        lines = f.readlines()

    novels = Novel.objects.get(slug=slug).title_rus
    description = Novel.objects.get(slug=slug).description
    paginator = Paginator(lines, 30)
    page = request.GET.get('page')
    plines = paginator.get_page(page)

    context = {
        'novels': novels,
        'plines': plines,
        'description': description,
    }

    return render(request, 'novels/text.html', context)
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ответы на вопрос 1
@deliro
1. Код твой в одну колонку не читается
2. Текстовый файл НЕ ДОЛЖЕН читаться во вьюхе. Это задача модели. Учи MVC
3.
def function_based_view(request, param1, param2):
    <логика>
    return response


В первом приближении переводится в

class ClassBasedView(View):
    def dispatch(self, request, param1, param2):
        <логика>
        return response


После этого ClassBasedView.as_view() становится тождественным function_based_view

Всё остальное читаешь в документации и пытаешься вникнуть
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы