Reputation: 37
can anyone tell me how to set a slug in a view?
I pretend to use name as slug,
def editar_cliente(request, pk):
detail = database.objects.get(pk=pk)
name = detail.name
company = detail.company
pk = detalle.pk
return render(request, 'edit_client.html'company': company, 'pk':pk})
Upvotes: 2
Views: 661
Reputation: 2000
I would create slug in the model's save method:
from django.utils.text import slugify
class Client(models.Model):
name = models.CharField(max_length=30)
slug = models.SlugField(editable=False) # hide from admin
def save(self):
if not self.pk:
self.s = slugify(self.name)
super(Client, self).save()
But you could use the same approach to set it in view as well:
from django.utils.text import slugify
def editar_cliente(request, pk):
detail = database.objects.get(pk=pk)
name = detail.name
company = detail.company
pk = detalle.pk
slug = slugify(name)
return render(request, 'edit_client.html'company': company, 'pk':pk})
Hope it helps.
Upvotes: 3