Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

426
Visualizações
Tengo problemas para configurar la URL predeterminada para una página específica en Django

En este momento tengo mi urls.py configurado así:

 urlpatterns = [ ... path('dividends/<str:month>/', views.DividendView.as_view(), name='dividendview'), path('dividends/', views.DividendView.as_view(), name='dividendview'), ]

Lo que me gustaría es tener el parámetro 'mes' opcional y predeterminado para el mes de hoy. En este momento tengo mi views.py configurado como

 class DividendView(ListView): model = Transaction template_name = 'por/dividends.html' def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) divs = Dividends() month = self.kwargs['month'] context['month'] = get_month(month) return context def get_month(month): if month: return month else: return datetime.today().month

y mi archivo dividends.html como

 {% extends 'base.html' %} {% load static %} {% block title %}Dividends{% endblock %} {% block content %} {{ month }} {% endblock %}

Si navego a /dividends/Oct/ (o cualquier otro mes) funciona bien, pero si solo voy a /dividends/ me da

 KeyError: 'month'

¿Qué estoy haciendo mal y cómo podría solucionarlo?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Primero, debe verificar si existe el 'mes' de kwarg y luego asignar el valor del mes; de lo contrario, generará keyError .

Vistas.py

 class DividendView(ListView): model = Transaction template_name = 'por/dividends.html' def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) divs = Dividends() if 'month' in self.kwargs: # check if the kwarg exists month = self.kwargs['month'] else: month = datetime.today().month context['month'] = month return context
over 4 years ago · Santiago Trujillo Relatório

0

Puede hacerlo de una manera muy simple y no necesita definir dos puntos finales en su urls.py

(?P<month>\w+|)

Entonces tu URL será: -

 path('dividends/(?P<month>\w+|)/', views.DividendView.as_view(), name='dividendview'),
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda