Не удалось разобрать остаток: '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 основанные на классах.