No me queda claro cómo es mejor acceder a los parámetros de URL en vistas basadas en clases en Django 1.5.
Considera lo siguiente:
Ver:
from django.views.generic.base import TemplateView
class Yearly(TemplateView):
template_name = "calendars/yearly.html"
current_year = datetime.datetime.now().year
current_month = datetime.datetime.now().month
def get_context_data(self, **kwargs):
context = super(Yearly, self).get_context_data(**kwargs)
context['current_year'] = self.current_year
context['current_month'] = self.current_month
return context
URLCONF:
from .views import Yearly
urlpatterns = patterns('',
url(
regex=r'^(?P<year>\d+)/$',
view=Yearly.as_view(),
name='yearly-view'
),
)
Quiero acceder al yearparámetro en mi vista, para poder hacer una lógica como:
month_names = [
"January", "February", "March", "April",
"May", "June", "July", "August",
"September", "October", "November", "December"
]
for month, month_name in enumerate(month_names, start=1):
is_current = False
if year == current_year and month == current_month:
is_current = True
months.append({
'month': month,
'name': month_name,
'is_current': is_current
})
¿Cuál sería la mejor manera de acceder al parámetro url en CBV como el anterior que está subclasificado TemplateViewy dónde debería uno colocar idealmente la lógica como esta, por ejemplo. en un método?
extra_contextdict simple endjango2, ver aquí