是否可以使用基于 class 的视图而不是基于函数的视图 wagtail?
is it possible to use class based view instead of function based view wagtail?
我仍在努力将 django wagtail 集成到现有项目中。
我只在我的博客页面上使用 wagtail。我想创建一个表单来从我的 wagtail 页面为我的博客创建新的 post。我创建它的方式是使用可路由页面。这是我的一些代码
我使用 this 作为参考
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 函数更改为创建视图?
因为我之前尝试过创建视图并尝试过类似的操作,但它不起作用,因为它将递归调用 models.py
中的 BlogPage 页面
models.py
class BlogIndex(RoutablePageMixin, Page):
...
@route(r'^send-post/$', BlogCreate.as_view(), name='send_posts')
views.py
class BlogCreate(CreateView):
...
非常感谢
我想你快到了,但是 @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')
我仍在努力将 django wagtail 集成到现有项目中。
我只在我的博客页面上使用 wagtail。我想创建一个表单来从我的 wagtail 页面为我的博客创建新的 post。我创建它的方式是使用可路由页面。这是我的一些代码
我使用 this 作为参考
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 函数更改为创建视图? 因为我之前尝试过创建视图并尝试过类似的操作,但它不起作用,因为它将递归调用 models.py
中的 BlogPage 页面models.py
class BlogIndex(RoutablePageMixin, Page):
...
@route(r'^send-post/$', BlogCreate.as_view(), name='send_posts')
views.py
class BlogCreate(CreateView):
...
非常感谢
我想你快到了,但是 @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')