Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##models.py
- #...
- from django.db import models
- from wagtail.core.fields import RichTextField
- @register_snippet
- class Comment(models.Model):
- name = models.CharField(max_length=255, verbose_name="Имя", null=True, )
- comment = RichTextField(verbose_name = "Отзыв", null=True)
- ##views.py
- from django.views.generic.edit import CreateView
- ...
- class AjaxableResponseMixin:
- """
- Mixin to add AJAX support to a form.
- Must be used with an object-based FormView (e.g. CreateView)
- """
- success_url = '/'
- def form_invalid(self, form):
- response = super().form_invalid(form)
- if self.request.is_ajax():
- return JsonResponse(form.errors, status=400)
- else:
- return response
- def form_valid(self, form):
- response = super().form_valid(form)
- if self.request.is_ajax():
- data = {
- 'status': 'Success!',
- }
- return JsonResponse(data)
- else:
- return self.render_to_response(self.get_context_data(form=form))
- class CommentCreate(AjaxableResponseMixin, CreateView):
- model = Comment
- fields = ['name', 'comment']
- #urls.py
- ...
- urlpatterns = [
- ...
- url(r'^some/url/$', CommentCreate.as_view()),
- ...
- ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement