Нужно из url сделать path в django, как именно?

Как из этой строчки url(r'^(?P<post_id>\d+)/share/$', views.post_share, name='post_share'), сделать path? Вот как сделал это я path('share/<int:post_id>/', post_share, name='post_share'

Задача: сделать форму для отправки письма введите сюда описание изображения

urls.py

urlpatterns = [
path('', PostListView.as_view(), name = 'post_list'),
path('more/<slug:more_slug>/', post_detail, name='more_detail'),
path('share/<int:post_id>/', post_share, name='post_share')

]

views.py

def post_share(request,post_id):
# Retrieve post by id
post = get_object_or_404(Post, pk=post_id, status='published')
sent = False
if request.method == 'POST':
    # Form was submitted
    form = EmailPostForm(request.POST)
    if form.is_valid():
        # Form fields passed validation
        cd = form.cleaned_data
        post_url = request.build_absolute_uri(post.get_absolute_url())
        subject = '{} ({}) recommends you reading "{}"'.format(cd['name'], cd['email'], post.title)
        message = 'Read "{}" at {}\n\n{}\'s comments: {}'.format(post.title, post_url, cd['name'], cd['comments'])
        send_mail(subject, message, 'admin@myblog.com', [cd['to']])
        sent = True
else:
    form = EmailPostForm()

dir={   'post': post,
        'form': form,
        'sent': sent}
return render(request, 'blog/share.html', dir)

Выскакивает такая ошибка:

NoReverseMatch at /more/pervyj-tovar/
Reverse for 'post_share' with no arguments not found. 1 pattern(s) tried: ['share/(?P<post_id>[0-9]+)/\\Z']
Вернуться на верх