Added collection/amiibo detail views base templates
This commit is contained in:
parent
68d9346853
commit
ad0eb9b07b
|
@ -32,6 +32,10 @@ class Collection(models.Model):
|
|||
def amiibos(self):
|
||||
return self.amiibos_qs.all()
|
||||
|
||||
@models.permalink
|
||||
def get_absolute_url(self):
|
||||
return ('amiibo:collection', [self.slug])
|
||||
|
||||
def __unicode__(self):
|
||||
return unicode(self.name_eu) or u''
|
||||
|
||||
|
@ -57,6 +61,10 @@ class Amiibo(models.Model):
|
|||
|
||||
visible = models.BooleanField(default=True)
|
||||
|
||||
@models.permalink
|
||||
def get_absolute_url(self):
|
||||
return ('amiibo:amiibo', [self.collection.slug, self.slug])
|
||||
|
||||
@property
|
||||
def image_box(self):
|
||||
return '/static/images/amiibo/{}/{}-box.jpg'.format(
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
# coding: utf-8
|
||||
|
||||
# django
|
||||
from django.conf.urls import url, patterns
|
||||
|
||||
# home
|
||||
from .views import AmiiboView, CollectionView
|
||||
|
||||
|
||||
urlpatterns = patterns(
|
||||
'',
|
||||
url(r'^(?P<collection>[\w\d\-]+)/$',
|
||||
CollectionView.as_view(),
|
||||
name='collection'),
|
||||
url(r'^(?P<collection>[\w\d\-]+)/(?P<amiibo>[\w\d\-]+)$',
|
||||
AmiiboView.as_view(),
|
||||
name='amiibo'),
|
||||
|
||||
)
|
|
@ -1,3 +1,32 @@
|
|||
from django.shortcuts import render
|
||||
# coding: utf-8
|
||||
|
||||
# Create your views here.
|
||||
# django
|
||||
from django.shortcuts import render
|
||||
from django.views.generic.base import View
|
||||
|
||||
# amiibo
|
||||
from amiibofindr.apps.amiibo.models import Collection, Amiibo
|
||||
|
||||
|
||||
class CollectionView(View):
|
||||
template = 'amiibo/collection.html'
|
||||
|
||||
def get(self, request, collection=None):
|
||||
collection = Collection.objects.get(slug=collection)
|
||||
|
||||
return render(request, self.template, {
|
||||
'selected_collection': collection,
|
||||
'amiibo_list': collection.amiibos,
|
||||
})
|
||||
|
||||
|
||||
class AmiiboView(View):
|
||||
template = 'amiibo/amiibo.html'
|
||||
|
||||
def get(self, request, collection=None, amiibo=None):
|
||||
amiibo_obj = Amiibo.objects.get(slug=amiibo)
|
||||
|
||||
return render(request, self.template, {
|
||||
'selected_collection': amiibo_obj.collection,
|
||||
'amiibo': amiibo_obj,
|
||||
})
|
||||
|
|
|
@ -9,6 +9,5 @@ from .views import HomeView
|
|||
|
||||
urlpatterns = patterns(
|
||||
'',
|
||||
url(r'^(?P<collection>[\w\d\-]+)/$', HomeView.as_view()),
|
||||
url(r'^$', HomeView.as_view()),
|
||||
)
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
{% extends "_layout.html" %}
|
||||
|
||||
{% block main_content %}
|
||||
<ul class="uk-subnav uk-subnav-pill">
|
||||
{% for collection in collections %}
|
||||
<li {% if selected_collection.slug == collection.slug %}class="uk-active"{% endif %}>
|
||||
<a href="{{ collection.get_absolute_url }}">{{ collection.name_eu }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{{ amiibo }}
|
||||
<img src="{{ amiibo.image_statue }}" />
|
||||
{% endblock %}
|
|
@ -0,0 +1,22 @@
|
|||
{% extends "_layout.html" %}
|
||||
|
||||
{% block main_content %}
|
||||
<ul class="uk-subnav uk-subnav-pill">
|
||||
{% for collection in collections %}
|
||||
<li {% if selected_collection.slug == collection.slug %}class="uk-active"{% endif %}>
|
||||
<a href="{{ collection.get_absolute_url }}">{{ collection.name_eu }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<div class="uk-grid">
|
||||
{% for amiibo in amiibo_list %}
|
||||
<div class="uk-width-medium-1-5">
|
||||
<a class="uk-panel uk-panel-box uk-panel-box-hover" href="{{ amiibo.get_absolute_url }}">
|
||||
<h3 class="uk-panel-title uk-text-center">{{ amiibo.name_eu }}</h3>
|
||||
<img src="{{ amiibo.image_statue }}" />
|
||||
</a>
|
||||
</div>
|
||||
{% if forloop.counter|divisibleby:5 %}</div><div class="uk-grid">{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -23,8 +23,9 @@ from django.conf.urls.static import static
|
|||
|
||||
urlpatterns = patterns(
|
||||
'',
|
||||
url(r'^', include('amiibofindr.apps.home.urls')),
|
||||
url(r'^amiibofindr-admin/', include(admin.site.urls)),
|
||||
url(r'^', include('amiibofindr.apps.amiibo.urls', namespace='amiibo')),
|
||||
url(r'^', include('amiibofindr.apps.home.urls', namespace='home')),
|
||||
)
|
||||
|
||||
if settings.DEBUG:
|
||||
|
|
Loading…
Reference in New Issue