python - Django Error 405 for FormView -
having trouble formview during testing. have following test:
def test_reviewform_contact(self): data = { 'user': self.u2.pk, 'product': self.r1.pk, 'rating': 5, 'title': "i turn see dream", 'content': "this reward joocy fuark." } response = self.client.post(reverse('reviews:reviewreward'), data) location = "http://testserver%s?next=%s" % (reverse('affiliates:onboarding_contact'), reverse('reviews:reviewreward')) self.assertequal(response.status_code, 302) self.assertequal(response['location'], location) the view has decorator checks if user passes test, if not, redirects. simple user_passes_test function has been tested , works on different form/formview. form has been tested , passes every test. view in question:
class reviewformview(formview): template_name = "general/processing.html" form_class = reviewform success_url = reverse_lazy('offers:dashboard') def render_to_json_response(self, context, **response_kwargs): data = json.dumps(context) response_kwargs['content_type'] = 'application/json' return httpresponse(data, **response_kwargs) def form_invalid(self, form): response = super(reviewformview, self).form_invalid(form) if self.request.is_ajax(): t = "we're having problems saving review..." m = form.errors message = render_to_string('reviews/error-alert.html', {'title':t, 'messages':m}) data = { 'messages': message } return self.render_to_json_response(data, status=400) else: return response def form_valid(self, form): response = super(reviewformview, self).form_valid(form) review = form.save() if self.request.is_ajax(): data = { 'pk': review.id, 'title': review.title, } return self.render_to_json_response(data, status=200) else: return response @method_decorator(active_and_login_required) def dispatch(self, *args, **kwargs): return super(reviewformview, self).dispatch(*args, **kwargs) urlconf in case:
from django.conf.urls import patterns, include, url reviews.views import * urlpatterns = patterns('', url(r'^review-opinion/$', reviewhelpfulview.as_view(), name="reviewlike"), url(r'^review-reward/$', reviewformview.as_view(), name="reviewreward"), ) i'm getting, error 405 described in title. not sure how there can problem method. help?
Comments
Post a Comment