Slug é bom utilizar para ter uma url mais amigável.
models.py
...
class Servico(models.Model):
titulo = models.CharField(verbose_name=u'Título',max_length=255)
subtitulo = models.CharField(verbose_name=u'Subtítulo',max_length=255)
link = models.CharField(verbose_name='Link para contratar este serviço',max_length=255,blank=True,null=True)
slug = models.SlugField(max_length=255, unique=True, verbose_name="Slug / URL", help_text="Preenchido automaticamente, não editar.",)
...
urls.py
...
url(r'^servicos/(?P[-w]+)/$', 'app_views.views.servicos', name='servico_detalhe'),
...
views.py
...
def servicos(request, slug=None):
servico = Servico.objects.filter( slug = slug )
VARS = {
'servico': servico,
}
return render_to_response('servicos.html', VARS, context_instance=RequestContext(request))
...
admin.py
...
class ServicoAdmin( admin.ModelAdmin ):
inlines = [DescricaoInline,VideoInline,FotoInline]
list_display = ('titulo','subtitulo','link')
prepopulated_fields = {'slug': ("titulo",)} # preencher automáticamente slug baseado no título
filter_horizontal = ['cliente',]
admin.site.register( Servico, ServicoAdmin )
...
AVISO DE SEGURANÇA (DYOR): Todo o conteúdo do wiskton.xyz tem caráter estritamente educativo e informativo. Criptoativos envolvem volatilidade e riscos cibernéticos. Jamais compartilhe sua seed phrase ou chaves privadas com terceiros.