Login
+Latest uploads
+-
+ {% for geometry in latest_geometries %}
+
- + + {{geometry.name}} + - {{geometry.date}} + + {% endfor %} +
diff --git a/past3d/settings.py b/past3d/settings.py index 4d36cf0..5729eb5 100644 --- a/past3d/settings.py +++ b/past3d/settings.py @@ -1,4 +1,5 @@ # Django settings for past3d project. +from django.core.urlresolvers import reverse_lazy import os BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), '../') @@ -127,6 +128,7 @@ INSTALLED_APPS = ( 'django.contrib.messages', 'django.contrib.staticfiles', 'pastebin', + 'users', # Uncomment the next line to enable the admin: 'django.contrib.admin', # Uncomment the next line to enable admin documentation: @@ -135,6 +137,8 @@ INSTALLED_APPS = ( SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer' +LOGIN_REDIRECT_URL = reverse_lazy('geometry_create') + # A sample logging configuration. The only tangible logging # performed by this configuration is to send an email to # the site admins on every HTTP 500 error when DEBUG=False. diff --git a/past3d/urls.py b/past3d/urls.py index 6a57a0a..5231abe 100644 --- a/past3d/urls.py +++ b/past3d/urls.py @@ -12,6 +12,7 @@ urlpatterns = patterns('', # url(r'^$', 'past3d.views.home', name='home'), # url(r'^past3d/', include('past3d.foo.urls')), + url(r'^users/', include('users.urls')), url(r'^3d/', include('pastebin.urls')), # Uncomment the admin/doc line below to enable admin documentation: diff --git a/pastebin/views.py b/pastebin/views.py index 0524133..d526034 100644 --- a/pastebin/views.py +++ b/pastebin/views.py @@ -7,6 +7,13 @@ from forms import GeometryForm from models import Geometry +class LastesGeometriesMixin(ContextMixin): + def get_context_data(self, **kwargs): + context = super(LastesGeometriesMixin, self).get_context_data(**kwargs) + context['latest_geometries'] = Geometry.get_latest() + return context + + class GeometryView(DetailView): model = Geometry pk_url_kwarg = 'id' @@ -14,7 +21,7 @@ class GeometryView(DetailView): template_name = 'pastebin/geometry.html' -class GeometryCreate(CreateView): +class GeometryCreate(CreateView, LastesGeometriesMixin): model = Geometry form_class = GeometryForm template_name = 'pastebin/geometry_create.html' @@ -22,7 +29,3 @@ class GeometryCreate(CreateView): def get_success_url(self): return reverse('geometry_details', kwargs={'id' :self.object.id}) - def get_context_data(self, **kwargs): - context = super(CreateView, self).get_context_data(**kwargs) - context['latest_geometries'] = Geometry.get_latest() - return context \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index 6383c80..f54b358 100644 --- a/templates/base.html +++ b/templates/base.html @@ -20,9 +20,9 @@ past3d
diff --git a/users/__init__.py b/users/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/users/models.py b/users/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/users/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/users/templates/users/login.html b/users/templates/users/login.html new file mode 100644 index 0000000..5a9235e --- /dev/null +++ b/users/templates/users/login.html @@ -0,0 +1,56 @@ +{% extends "base.html" %} + + +{% block title %} Login {% endblock %} + + +{% block headeraddons %} + + +{% endblock %} + + +{% block content %} + +