2017-08-29 1 views
0

Ich möchte eine Website erstellen (Django 1.8), wo ich Ereignisse nach Datum auswählen kann, was genau in einem bestimmten Monat und Jahr passiert ist. Ich entschied mich, die generische Klasse MonthArchiveView zu verwenden.Url mit MonthArchiveView gib mir Fehler 404

die URL der Hauptseite gelangt das Jahr und Monat, wie die URL ist - aber ich bekomme einen 404-Fehler

Meine Ansicht:

class BookingListView(ListView, MonthArchiveView): 
    model = models.Booking 
    queryset = models.Booking.objects.order_by('-date_start') 
    paginate_by = 80 
    template_name = 'events/archive_list.html' 
    context_object_name = 'object_list' 
    date_field = 'date_start' 
    allow_future = True 

    def get_context_data(self, **kwargs): 
     context = super(BookingListView, self).get_context_data(**kwargs) 
     context['mode'] = 'archive' 
     return context 

Meine url:

url(r'^(?P<year>[0-9]{4})/(?P<month>\d{2})/$', views.BookingListView.as_view(), name="list"), 

Meine Verbindung mit fest codierten Parametern):

<a href="{% url 'archive:list' 2017 09 %}" title="{% trans 'Archive' %}"> 
{% trans 'Archive' %}#} 
</a> 

Antwort

1

Wenn Sie für diesen Monat keine Buchungen haben, gibt die Monatsarchivansicht 404 zurück. Sie können dieses Verhalten ändern, indem Sie allow_empty auf True setzen.

class BookingListView(ListView, MonthArchiveView): 
    model = models.Booking 
    allow_empty = True 
    ... 
+0

Vielen Dank :) – Kai