diff options
Diffstat (limited to 'tests/regressiontests/views/views.py')
| -rw-r--r-- | tests/regressiontests/views/views.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/regressiontests/views/views.py b/tests/regressiontests/views/views.py index 956432e7d5..b90852189c 100644 --- a/tests/regressiontests/views/views.py +++ b/tests/regressiontests/views/views.py @@ -1,5 +1,29 @@ from django.http import HttpResponse +from django import forms +from django.views.generic.create_update import create_object + +from models import Article + def index_page(request): """Dummy index page""" return HttpResponse('<html><body>Dummy page</body></html>') + + +def custom_create(request): + """ + Calls create_object generic view with a custom form class. + """ + class SlugChangingArticleForm(forms.ModelForm): + """Custom form class to overwrite the slug.""" + + class Meta: + model = Article + + def save(self, *args, **kwargs): + self.cleaned_data['slug'] = 'some-other-slug' + return super(SlugChangingArticleForm, self).save(*args, **kwargs) + + return create_object(request, + post_save_redirect='/views/create_update/view/article/%(slug)s/', + form_class=SlugChangingArticleForm) |
