You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

views.py 1.3KB

12345678910111213141516171819202122232425262728293031323334353637
  1. from django.shortcuts import render, redirect, HttpResponse
  2. from django.utils import timezone
  3. from django.contrib.auth.decorators import login_required
  4. from django.contrib.admin.views.decorators import staff_member_required
  5. from .forms import NoticeForm
  6. from .models import Notice
  7. def index(request):
  8. notices = Notice.objects.all()
  9. notices.filter(pub_start__lte=timezone.now())
  10. notices.filter(pub_start__gte=timezone.now())
  11. context = { "notices": notices }
  12. return render(request, 'posts/index.html', context)
  13. @login_required
  14. def new(request):
  15. if request.method == "POST":
  16. form = NoticeForm(request.POST)
  17. if form.is_valid():
  18. newNotice = Notice(notice_title=form.cleaned_data['title'],
  19. notice_text=form.cleaned_data['text'],
  20. pub_start = form.cleaned_data['start'],
  21. pub_end = form.cleaned_data['end'])
  22. newNotice.save()
  23. return redirect('index')
  24. context = {'form': NoticeForm()}
  25. return render(request, 'posts/edit.html', context)
  26. @staff_member_required
  27. def delete(request, deleteId=None):
  28. if deleteId != None:
  29. delNotice = Notice.objects.get(id=deleteId)
  30. if delNotice != None:
  31. delNotice.delete(())
  32. return redirect('index')