def news_add(request): if request.method == 'POST': # ketika submit data form = AddNewsForm(request.POST, request.FILES) # isi value pada form sesuai yg di POST if form.is_valid(): # cek validasi # Data ada di array form.cleaned_data user = User.objects.get(pk=request.user.id) news = News() news.title = form.cleaned_data['title'] news.description = form.cleaned_data['description'] news.member = user if request.FILES: f = request.FILES['image'] path = get_file_path(request,f.name) fd = open('%s/%s' % (settings.MEDIA_ROOT, str(path)), 'wb') for chunk in f.chunks(): fd.write(chunk) fd.close() else : path = '' news.image = path news.save() #insert data ke table news messages.success(request, "Add News Success.") return HttpResponseRedirect('/news/') # Redirect after POST #return render_to_response('wisata/form_wisata.html',{'tulisan':tulisan}, context_instance=RequestContext(request, processors=[custom_proc])) else: form = AddNewsForm() # value form kosongan breadcrumb = 'Add News' datanya = {'form':form, 'breadcrumb': breadcrumb} return render_to_response('news/form_news.html',datanya, context_instance=RequestContext(request, processors=[custom_proc]))
def test_get_successive_news(self): ns = [] for i in range(12): n = News(title="news", body="news body", author_id=1, date=datetime.now() - timedelta(days=12 - i)) n.save() ns.append(n) self.assertEqual(0, len(News.objects.get_successive_news('-', 0, 0))) self.assertEqual( 0, len(News.objects.get_successive_news('-', randint(0, 11), 0))) self.assertEqual(12, len(News.objects.get_successive_news('-', 0, 20))) nss = News.objects.get_successive_news('-', 3, 6) for i in range(0, 6): self.assertEqual(nss[i].id, ns[8 - i].id) for n in ns: n.delete()
def generate_random_news(category, new=randint(1, 6), old=randint(1, 6)): ns = [] author_user = UserFactory() for i in range(new): n = News(title="news", body="news body", date=datetime.now() - timedelta(days=randint(0, 6)), author_id=author_user.pk) n.category = category n.save() ns.append(n) for i in range(old): n = News(title="old news", body="news body", date=datetime.now() - timedelta(days=randint(8, 20)), author_id=author_user.pk) n.category = category n.save() ns.append(n) return (new, old, ns)
def create(self, validate_data): news =News(**validate_data) news.author=self.request.user news.save() return news