Не удалось разобрать остаток: 'slug=blog.slug' из ''blog_details'slug=blog.slug''.

я использую поле slug в своих блогах. вот как я создаю slug'ы views.py

def Creating_blog(request):
    form=BlogForm()
    if User.is_authenticated:
        if request.method=='POST':
                form=BlogForm(request.POST,request.FILES)
                if form.is_valid:
                    blog_obj=form.save(commit=False)
                    blog_obj.author=request.user
                    title=blog_obj.blog_title
                    blog_obj.slug = title.replace(' ','-') + '-'+ str(uuid.uuid4())
                    blog_obj.save()
                    return redirect('index')
    return render(request,'blogs/creatingblog.html',context={'form':form})

Использование slug для перехода на страницу подробностей блога

<a href="{% url 'blog_details' slug=blog.slug %}">Read More</a>

но всякий раз, когда я нажимаю на это, он показывает мне

raise TemplateSyntaxError("Could not parse the remainder: '%s' "
django.template.exceptions.TemplateSyntaxError: Could not parse the remainder: 'slug=blog.slug' from ''blog_details'slug=blog.slug'

я тоже пробовал со slugify

<a href="{% url 'blog_details' slug=blog.slug|slugify %}">Read More</a>

но он остается прежним

Помогите мне, пожалуйста.

Как уже упоминал @Dev, вы можете просто сделать:

<a href="{% url 'blog_details' blog.slug %}">Read More</a>

Не нужно 'slugify', так как это уже slug.

Дополнительно, но без связи, я бы рекомендовал использовать представления Django основанные на классах.

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