Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class CreateBlog(generic.CreateView):
- template_name = 'app_blog/create_blog.html'
- model = Blog
- fields = ('title', 'content',)
- success_url = reverse_lazy('blog')
- def get_context_data(self, **kwargs):
- context = super().get_context_data(**kwargs)
- form_file = BlogForm()
- form_file.fields['csv_file'].widget = forms.HiddenInput()
- context['form_file'] = form_file
- return context
- def post(self, request, *args, **kwargs):
- super().post(request, *args, **kwargs)
- self.object.user = request.user
- self.object.save()
- files = request.FILES.getlist('image')
- if files:
- for f in files:
- image_blog_obj = FileHolder.objects.create(blog=self.object, image=f)
- image_blog_obj.save()
- return redirect(self.success_url)
- class Blog(models.Model):
- user = models.ForeignKey(
- User,
- related_name='user_blog',
- verbose_name='пользователь',
- on_delete=models.SET_NULL, null=True,
- )
- title = models.CharField('заголовок', max_length=50, blank=True, null=True)
- content = models.TextField('контент', max_length=500, blank=True)
- created_at = models.DateTimeField(auto_now=True, )
- published = models.DateTimeField('дата публикции', null=True)
- class Meta:
- verbose_name = 'Блог'
- verbose_name_plural = 'Блоги'
- class CreateBlogTest(BaseTest):
- def test_get_and_template(self):
- response = self.client.get(reverse('create_blog'))
- self.assertEqual(response.status_code, 200)
- self.assertTemplateUsed(response, 'app_blog/create_blog.html')
- def test_create_blog(self):
- user = User.objects.create_user(self.username)
- self.session(user)
- self.data_for_blog['user'] = self.username
- self.client.post(reverse('create_blog'), self.data_for_blog)
- self.assertTrue(models.Blog.objects.get(title='test_title'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement