ubookmark/ubookmark/views.py

54 lines
1.6 KiB
Python
Raw Normal View History

2020-04-25 15:35:02 +00:00
from django.views.generic.list import ListView
from django.views.generic.edit import CreateView
from django.contrib.auth import views as auth_views
2020-04-25 19:09:00 +00:00
from django.contrib.auth.mixins import LoginRequiredMixin
from django.contrib.auth import logout
from django.shortcuts import redirect
2020-04-25 16:37:48 +00:00
from django.conf import settings
2020-04-25 15:35:02 +00:00
from ubookmark.models import *
class IndexView(ListView):
model = BookmarkModel
2020-04-25 19:09:00 +00:00
paginate_by = 5
2020-04-25 16:37:48 +00:00
queryset = BookmarkModel.objects.order_by('-posted_at')
def get_context_data(self, **kwargs):
context = super(IndexView, self).get_context_data(**kwargs)
context['site_name'] = settings.SITE_NAME
context['site_description'] = settings.SITE_DESCRIPTION
2020-04-25 19:09:00 +00:00
context['site_description'] = settings.SITE_DESCRIPTION
2020-04-25 16:37:48 +00:00
return context
2020-04-25 19:09:00 +00:00
class SubmitView(LoginRequiredMixin, CreateView):
model = BookmarkModel
fields = [ 'comment', 'url' ]
2020-04-25 19:09:00 +00:00
login_url = '/login/'
success_url = '/'
def get_context_data(self, **kwargs):
context = super(CreateView, self).get_context_data(**kwargs)
context['site_name'] = settings.SITE_NAME
context['site_description'] = settings.SITE_DESCRIPTION
return context
2020-04-25 19:09:00 +00:00
def form_valid(self, form):
form.instance.owner = self.request.user
return super(SubmitView, self).form_valid(form)
class LoginView(auth_views.LoginView):
2020-04-25 19:09:00 +00:00
template_name = 'ubookmark/login.html'
extra_context = {}
extra_context['site_name'] = settings.SITE_NAME
extra_context['site_description'] = settings.SITE_DESCRIPTION
def logout_view(request):
logout(request)
return redirect("/")