Changed page to GET and added main attachment view

This commit is contained in:
Felipe Martín 2016-04-11 20:22:37 +02:00
parent bb8ebf13b6
commit 257c6a539c
5 changed files with 26 additions and 20 deletions

View File

@ -1,17 +1,17 @@
from django.conf.urls import url
from .views import (
ListView,
ListView, AttachmentView,
EntryView, EntryAttachmentView, EntryLiveEditView,
SearchView, RSSView)
urlpatterns = [
# Post list with page
# Global attachment URL
url(
r'^page/(?P<page_number>\d+)/$',
ListView.as_view(),
name='list'
r'^attachment/(?P<attachment_id>\d+)$',
AttachmentView.as_view(),
name='attachment'
),
# Post list
url(
@ -35,7 +35,7 @@ urlpatterns = [
url(
r'^(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/(?P<slug>[\w\-]+)/attachment/(?P<filename>.*)$',
EntryAttachmentView.as_view(),
name='item'
name='item-attachment'
),
# RSS
url(

View File

@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
from datetime import datetime
from django.core.paginator import Paginator
from django.utils import translation
from django.conf import settings
from django.core.paginator import Paginator
from django.db.models import Q
@ -20,8 +18,8 @@ def get_posts(query=None, limit=None):
)
if query and len(query) > 0:
items = items.filter(
Q(title__icontains=query) | \
Q(content__icontains=query) | \
Q(title__icontains=query) |
Q(content__icontains=query) |
Q(tags__name__iexact=query)
).distinct()

View File

@ -8,7 +8,7 @@ from django.utils.decorators import method_decorator
from django.views.decorators.csrf import csrf_exempt
import fmartingrcom.apps.blog.utils as blog_utils
from .models import Entry
from .models import Entry, Attachment
from fmartingrcom.apps._core.views import View
from fmartingrcom.apps.config.models import SiteConfiguration
@ -16,13 +16,21 @@ from fmartingrcom.apps.config.models import SiteConfiguration
config = SiteConfiguration.objects.get()
class AttachmentView(View):
def get(self, request, attachment_id):
try:
attachment = Attachment.objects.get(pk=int(attachment_id))
return HttpResponseRedirect(attachment.url)
except Attachment.DoesNotExist:
raise Http404
class ListView(View):
section = 'blog'
template = 'blog/list.jinja'
def get(self, request, page_number=1):
if 'page' in request.GET:
page_number = int(request.GET['page'])
def get(self, request):
page_number = int(request.GET.get('page', 1))
paginator, page = blog_utils.get_paginator(request, page_number)

View File

@ -7,7 +7,7 @@
{% block submenu %}
{% if item.status() == 'Published' %}
{% if page.number > 1 %}
<a href="{{ url('blog:list', page.number) }}" class="button prev-page pull-left gap">
<a href="{{ url('blog:list') }}?page={{ page.number }}" class="button prev-page pull-left gap">
{% else %}
<a href="{{ url('blog:list') }}" class="button prev-page pull-left gap">
{% endif %}

View File

@ -65,17 +65,17 @@
<div class="pagination">
{% if page.has_next() %}
<a href="{{ url('blog:list', page.next_page_number()) }}" class="button prev-page pull-right gap half">
<a href="{{ url('blog:list') }}?page={{ page.next_page_number() }}" class="button prev-page pull-right gap half">
Older <i class="fa fa-angle-double-right"></i>
</a>
<a href="#">
<a href="#">o
{% endif %}
{% if page.has_previous() %}
{% if page.previous_page_number() == 1 %}
<a href="{{ url('blog:list') }}" class="button prev-page pull-left gap half">
{% else %}
<a href="{{ url('blog:list', page.previous_page_number()) }}" class="button prev-page pull-left gap half">
<a href="{{ url('blog:list') }}?page={{ page.previous_page_number() }}" class="button prev-page pull-left gap half">
{% endif %}
<i class="fa fa-angle-double-left"></i> Newer
</a>
@ -88,7 +88,7 @@
<ul>
{% for p in range(1, paginator.num_pages+1) %}
<li {% if p == page_number %}class="active"{% endif %}>
<a href="{{ url('blog:list', p) }}">{{ p }}</a>
<a href="{{ url('blog:list') }}">?page={{ p }}</a>
</li>
{% endfor %}
</ul>