Можно ли использовать представление на основе класса вместо трясогузки представления на основе функции? - PullRequest
0 голосов
/ 26 сентября 2018

Я все еще пытаюсь интегрировать трясогузку Джанго в существующий проект.

Я использую трясогузку только для своей страницы блога.и я хочу создать форму для создания новой записи для моего блога со страницы трясогузки.способ, которым я создаю это, использует страницу маршрутизации.вот некоторые из моего кода

я использую этот в качестве моей ссылки

models.py

class BlogIndex(RoutablePageMixin, Page):
    ...

    @route(r'^send-post/$', name='send_posts')
    def submit(self, request):
        from .views import submit_news
        return submit_news(request, self)
    ...

class BlogPage(Page):
    ...

forms.py

class NewsPageForm(forms.ModelForm):
    ...

views.py

def submit_blog(request, blog_index):
    ...

возможно ли изменить функцию submit_blog для создания представления?потому что я пытался создать представление ранее и попробовать что-то подобное, но это не работает, потому что это будет рекурсивно вызывать страницу BlogPage в models.py

models.py

class BlogIndex(RoutablePageMixin, Page):
...

    @route(r'^send-post/$', BlogCreate.as_view(), name='send_posts')

views.py

class BlogCreate(CreateView):
...

большое спасибо

1 Ответ

0 голосов
/ 14 ноября 2018

Я думаю, что вы почти у цели, но @route нужно украсить функцию представления (а не передавать представление в качестве параметра декоратора).

Попробуйте это:

class BlogIndex(RoutablePageMixin, Page):
...
    @route(r'^send-post/$', name='send_posts'):
    def submit(self, request):
        blog_create_view = BlogCreate.as_view()

        return blog_create_view(request, self)

вместо:

class BlogIndex(RoutablePageMixin, Page):
...

    @route(r'^send-post/$', BlogCreate.as_view(), name='send_posts')
...