Question

Je voudrais savoir comment implémenter une fonctionnalité slug URL dans un site Web, sans avoir l'ID de l'enregistrement en cours d'exposition vu dans l'URL.

Par exemple, les URL StackOverflow ressemblent à ceci: MVC Vues dynamiques de l'URL Slug . Notez l'URL contient l'ID de l'enregistrement. Si je devais mettre en signet cette page, et pour une raison quelconque l'ID du dossier changé, je ne serais pas capable de regarder cet enregistrement dans l'avenir.

Je veux mettre en œuvre une fonctionnalité slug URL qui ne dépend pas de l'ID de l'enregistrement, il ressemblera à quelque chose comme https://stackoverflow.com/questions/mvc-dynamic-views-from-url-slug .

Pouvez-vous s'il vous plaît fournir les étapes pour y parvenir? Utilisez-vous le titre de l'enregistrement et il sluggify, sauf que limaces, et ne jamais le changer à nouveau?

Une URL d'exemple de ce que je cherche est ce http://weblogs.asp.net/scottgu/archive/2010/10/04/jquery-templates-data-link-and- la mondialisation a accepté, comme officielle-jquery-plugins.aspx (notice n ° ID dans l'URL)

Merci!

Était-ce utile?

La solution

C'est essentiellement ce que vous faites. Chaque méthode a ses avantages:

  • Sur débordement de la pile, puisque le titre d'une question peut être modifiée, l'ID est utilisé pour relier de façon permanente à la question, et les URL avec un titre incorrect simplement rediriger.
  • Utilisation de la limace comme l'identifiant permanent signifie que le bouchon ne peut jamais changer. Modification du titre sera possible, mais il peut sembler déroutant, et vous pourriez être mieux rediriger la limace. En outre, les limaces soit besoin d'être unique au monde, ou si vous devez trouver un moyen de faire respecter le caractère unique pour chaque année / mois / jour ou autre.

Vous aurez besoin d'un index de base de données pour faire efficace recherche limace. Heureusement, champ Slug de Django crée automatiquement un index de base de données.

Vous avez probablement encore envie d'avoir une clé primaire numérique, il suffit de faire le reste de votre base de données plus simple.

Autres conseils

Vous cherchez URL Rewriting ?

A la fin de la journée, vous avez besoin d'une méthode unique d'identification de chaque ressource. Le plus souvent, c'est un entier parce qu'il et plus respectueux de l'homme de base de données conviviale qu'un GUID. Si vous souhaitez utiliser une chaîne arbitraire à la place, il est la même technique générale que pour un ID entier, mais vous devez veiller à ne pas se retrouver avec 2 ou plusieurs enregistrements partageant la même limace.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top