def view_save_news(request): pk = request.POST.get('id') try: news_article = NewsArticle.objects.get(pk=pk) if pk else None except NewsArticle.DoesNotExist as err: return HttpResponse(get_error('Новость не существует!')) form_news = NewsForm(request.POST, instance=news_article) if form_news.is_valid(): form_news.save() new_pk = form_news.instance.pk current_site = get_current_site(request) view_url = '{}://{}{}'.format(settings.SCHEMA, current_site.domain, reverse('view_news', args=[new_pk])) answer = get_success( 'Статья {}'.format('обновлена' if pk else 'добавлена'), {'data': { 'view_url': view_url, 'id': new_pk }}) else: absent_fields, msg_err = get_absent_fields_list(form_news) answer = get_error('Ошибка: {}'.format(msg_err), {'absent_fields': absent_fields}) return HttpResponse(answer)
def post(self, request): form = NewsForm(request.POST) if form.is_valid(): form.save() return redirect('/news') return render(request, "news/news_form.html", { "form" : form })
def addNews(request): template = 'news/addNews.html' if request.method=='GET': return render(request, template, {'form':NewsForm(), 'folderName':'news'}) # POST form = NewsForm(request.POST) if not form.is_valid(): return render(request, template, {'form':form}) form.save() messages.success(request, '最新消息已發布') return redirect('news:news')
def test_class_form(self): data = { 'title': "title", 'description': "test description", 'publish_date': timezone.now() } form = NewsForm(data=data) form.save() self.assertTrue(form.is_valid()) x = NewsItem.objects.get(title="title") self.assertTrue(x)
def add(request): news_form = NewsForm(request.POST) if news_form.is_valid(): try: news_form.save() for t in TeamProfile.objects.all(): t.nb_unread_news += 1 t.save() messages.add_message(request, messages.SUCCESS, "The news has been posted.") except Exception: logger.exception("Error adding news:") return redirect(reverse("news:list"))
def editNews(request, newsId): template = 'news/editNews.html' newsToUpdate = get_object_or_404(News, id=newsId) if request.method=='GET': return render(request, template, {'form':NewsForm(instance=newsToUpdate), 'news':newsToUpdate, 'folderName':'news'}) # POST form = NewsForm(request.POST, instance=newsToUpdate) if not form.is_valid(): return render(request, template, {'form':form, 'news':newsToUpdate, 'command':'news'}) form.save() messages.success(request, '消息修改成功') return redirect('news:news')
def modify(request, id_news): news = get_object_or_404(News.objects, id=id_news) if request.method == "POST": news_form = NewsForm(request.POST, instance=news) if news_form.is_valid(): try: news_form.save() for t in TeamProfile.objects.all(): t.nb_unread_news += 1 t.save() messages.add_message(request, messages.SUCCESS, "The news has been updated.") except Exception: logger.exception("Error adding news: ") messages.add_message(request, messages.ERROR, "Error while updating the news.") return redirect(reverse("news:list")) elif request.method == "GET": news_form = NewsForm(instance=news) return render(request, "news/modify.html", locals())
def news_form(request): if request.method == 'POST': form = NewsForm(request.POST) if form.is_valid(): cd = form.cleaned_data news = form.save(commit=False) news.author_id = request.user.pk news.date = datetime.now() news.save() messages.add_message(request, messages.INFO, 'News successfully created!', extra_tags='alert-success') return HttpResponseRedirect('/news/' + str(news.id)) else: form = NewsForm() return render(request, 'news/news.html', {'form': form})
def add_news(request): if request.method == 'POST': form = NewsForm(request.POST) if form.is_valid(): pieceOfNews = form.save(commit=False) pieceOfNews.source = "FII" if request.user.is_authenticated: pieceOfNews.author_name = request.user.first_name + ' ' + request.user.last_name else: pieceOfNews.author_name = 'Anonymous' pieceOfNews.inserted_time = datetime.datetime.now() pieceOfNews.published_time = datetime.datetime.now() pieceOfNews.expire_time = datetime.datetime.now() + relativedelta( years=1) pieceOfNews.save() return redirect('/news') else: form = NewsForm() return render(request, 'add_news.html', {'form': form})