Чтение значения из URL в django

я пытаюсь прочитать значение url и добавить его в модели в django.

В принципе, если у меня есть следующая ссылка

my_site.com/special_event/123

Как я могу поймать последнюю часть ссылки (123) и сохранить ее как запись для моих моделей. Для контекста я пытаюсь провести лотерею на моем сайте, и когда кто-то сканирует QR-код, он отправит его на мой сайт, а в конце ссылки будет случайное число, которое я буду использовать для лотереи. Так что в этом случае лотерейный билет человека будет 123.

На данный момент у меня есть такой код: модель:

class RaffleEntry(models.Model):
entry_number = models.IntegerField(blank=False)

def __str__(self):
    return self.entry_number

А вид, который я пробовал сделать таким образом:

def add_entry(request, entry_number):
    entry_number = RaffleEntry.objects.create()
    return render(request, 'front/entry_success')

Я также попытался добавить параметр INT в URL следующим образом:

    path('special_events/add_entry/<int:entry_number>', views.add_entry, name='special_events/add_entry>'),

Любая помощь или даже просто указание в правильном направлении будут очень признательны. Спасибо.

from random import randint
generated=[]

def generate_random_number(seed):
    random_number=(randint(0,seed))
    return str(random_number)


for i in range(0,10):
        random_number=generate_random_number(9999)
        if not random_number in generated:
        url="my_site.com/special_event/"+random_number
        url1=url
        url=(url.split("/"))
        print(url[len(url)-1], url1)
        generated.append(random_number)

print(generated)

4887 my_site.com/special_event/4887

682 my_site.com/special_event/682

3755 my_site.com/special_event/3755

7953 my_site.com/special_event/7953

8867 my_site.com/special_event/8867

5238 my_site.com/special_event/5238

9309 my_site.com/special_event/9309

2424 my_site.com/special_event/2424

3930 my_site.com/special_event/3930

8064 my_site.com/special_event/8064

['4887', '682', '3755', '7953', '8867', '5238', '9309', '2424', '3930', '8064']

Чтобы сделать то, что я хотел, мне просто пришлось изменить мой Views.py, вот код:

def add_entry(request, entry_number):
RaffleEntry.instance = RaffleEntry.objects.create(entry_number=entry_number)
return render(request, 'front/entry_success.html', {'entry_number': entry_number})

Это решило проблему.

Вернуться на верх