@pitonessa

Как передать параметры url в kwargs?

Мне нужно переиспользовать параметры, переданные через url, в функции во views. (проект на django, python). То есть выполняется запрос http://localhost:8000/old/ days=15, параметр days=15 передается в функцию и попадает в timedelta для дальнейших расчетов. Параметр может быть только один, могут быть weeks&days, т.е. комбинации разные.
Для этого использован **kwargs, но он возвращает пустой словарь. Я не совсем понимаю, как это работает. Подскажите, пожалуйста. Скрипты прикладываю.
views.py:
@api_view(['GET'])
def delete(request, **kwargs):
    if 'days' in kwargs:
        delta = timedelta(**kwargs)
        data = b.objects.filter(date__lt=(datetime.now(tz=timezone.utc) - delta)).order_by('date')
        r = datetime.now(tz=timezone.utc) - delta
        for i in data:
            print(f'{i.name}, {i.date}')
    else:
        print('no')
    return HttpResponse("Ok")

код urls
urlpatterns = [
    path('admin/', admin.site.urls),
    url(r'^old/', views.delete)
]

Я пробовала доставать через request.GET.get(), но этот способ не подходит.
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
А!! У Вас django (писать надо в вопросе)...
Вам нужно указать в параметрах, переменные, которые принимает ваш контроллер https://docs.djangoproject.com/en/4.1/topics/http/urls/

--- old
Посмотртте на этот пример, питоновскую мапу (dict) можно передать, как параметры в функцию - https://www.geeksforgeeks.org/python-passing-dicti...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы