django_friendlyurls é um app Django permite criar URLs que retornam diretamente visualizações.
Não há 302 Redirect.
O caso de uso mais comum é que você tem URLs que retornam perfis de usuário, tais como
http://www.example.com/user/1
URLs amigáveis permitem criar uma URL para que o usuário também pode ser acessado por ir para:
http://www.example.com/jeff
O fundamental é que a barra de endereços no navegador não muda a http://www.example.com/user/1
O servidor web retorna o mesmo documento HTML como http://www.example.com/user/1
Fluxo
A aplicação procura a string 'Jeff' Se ele encontrar uma url amistoso que vai ler o absolute_path e tentar resolvê-lo, colocando-o através da URL resolver uma segunda vez.
Se ele encontrar uma resolução que vai voltar esse ponto de vista.
Uso
Aqui está um exemplo de como implementar friendly_urls para um usuário:
Eu coloquei isso em models.py:
de django.contrib.contenttypes importar genérico
de friendlyurls importação UrlMapping
de django.contrib.auth.models importação Usuário
get_absolute_url def (self):
& Nbsp; voltar u '/ user /% s'% self.id
User.add_to_class ('' friendly_urls, generic.GenericRelation (UrlMapping))
User.get_absolute_url = get_absolute_url
Isso basicamente macaco remenda o modelo do usuário para adicionar um campo. Você pode, então, fazer
user = User.objects.get (pk = 1)
user.friendly_urls.all ()
Isto irá obter uma lista de todas as URLs amigáveis.
Você não deveria ter que monkey patch todos os modelos.
Problemas / Perguntas
Não se esqueça de executar syncdb porque friendlyurls cria uma tabela para armazenar os mapeamentos de URL.
Configurações adicionais
FRIENDLYURLS_IGNORE_CASE - Defina como true se você quiser ignorar o caso quando tentando encontrar um caminho. Padrão: False
Requisitos :
- Python
- Django
Comentários não encontrado