diff --git a/requirements.txt b/requirements.txt index ae6f3a1..07fd6c1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ django django-auth-ldap psycopg2 +django-crispy-forms diff --git a/ubookmark/forms.py b/ubookmark/forms.py new file mode 100644 index 0000000..e79048b --- /dev/null +++ b/ubookmark/forms.py @@ -0,0 +1 @@ +from django import forms diff --git a/ubookmark/settings.py b/ubookmark/settings.py index 4512ecd..59a5521 100644 --- a/ubookmark/settings.py +++ b/ubookmark/settings.py @@ -37,6 +37,7 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'crispy_forms', 'ubookmark' ] @@ -151,3 +152,5 @@ AUTHENTICATION_BACKENDS = [ ] AUTH_USER_MODEL = 'ubookmark.User' + +CRISPY_TEMPLATE_PACK = 'bootstrap4' diff --git a/ubookmark/templates/ubookmark/base.html b/ubookmark/templates/ubookmark/base.html new file mode 100644 index 0000000..512d4c2 --- /dev/null +++ b/ubookmark/templates/ubookmark/base.html @@ -0,0 +1,79 @@ +{% load static %} + + + + + + + + + + + + {{ site_name }} powered by ubookmark + + + + + {% block content %} + {% endblock %} + + + + - - - + + {% endfor %} + + + +{% endblock %} diff --git a/ubookmark/urls.py b/ubookmark/urls.py index 5f44d30..b290419 100644 --- a/ubookmark/urls.py +++ b/ubookmark/urls.py @@ -20,5 +20,6 @@ from ubookmark import views urlpatterns = [ path('', views.IndexView.as_view(), name='index'), + path('submit/', views.SubmitView.as_view(), name='submit'), path('admin/', admin.site.urls), ] diff --git a/ubookmark/views.py b/ubookmark/views.py index 4f0f898..86f290c 100644 --- a/ubookmark/views.py +++ b/ubookmark/views.py @@ -1,10 +1,12 @@ from django.views.generic.list import ListView +from django.views.generic.edit import CreateView +from django.contrib.auth import views as auth_views + from django.conf import settings from ubookmark.models import * class IndexView(ListView): - model = BookmarkModel paginate_by = 3 queryset = BookmarkModel.objects.order_by('-posted_at') @@ -15,3 +17,17 @@ class IndexView(ListView): context['site_description'] = settings.SITE_DESCRIPTION return context + +class SubmitView(CreateView): + model = BookmarkModel + fields = [ 'comment', '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 + +class LoginView(auth_views.LoginView): + pass