chat () отсутствует 1 обязательный позиционный аргумент: 'id' - PullRequest
0 голосов
/ 30 октября 2018

Мой шаблон URL-адреса

url(r'^my/<int:id>/', views.chat, name='chat'),

и моя функция просмотра выглядит так

def chat(request, id):
    snippet = Posted_proj.objects.get(id=id)
    return render(request, 'chat.html')

И получаю эту ошибку chat() missing 1 required positional argument: 'id'

Я не могу понять, что я делаю неправильно. любезно помогите

1 Ответ

0 голосов
/ 30 октября 2018

В Django url(..) пути указываются с регулярным выражением , а не с преобразователями патчей . Так что ваш url(..) должен выглядеть так:

url(r'^my/<b>(?P<id>\d+)</b>/', views.chat, name='chat'),

В и выше вы можете использовать path(..) [Django-doc] , чтобы указать свой путь:

# since Django-2.0
<b>path</b>(r'^my/<int:id>/', views.chat, name='chat'),

Однако я бы посоветовал переименовать id в posted_id или _id, поскольку id [Python-doc] - встроенная функция, и теперь ваша функция «прячет» встроенную. Если позже вы захотите использовать встроенную функцию, вместо этого вы будете использовать URL-идентификатор, что может привести к путанице.

...