Задать вопрос

Django: как сформировать уникальный URL для новости?

Изучаю Django. В общем задача типовая, но пока дельные варианты в голову не идут. Есть сайт, на нем есть новости, нужно как-то формировать уникальный URL для каждой из них. Предположительно это можно сделать на основе даты + ещё какого-то уникального идентификатора, но никак не решу как это должно работать: формировать URL как-то с помощью системы шаблонов, или же хранить для каждой новости в базе свой URL, и подставлять его в шаблон. Также всё ещё не решил как обеспечить эту самую «уникальность».

Кто нибудь подскажет нормальное решение — реализацию задачи? Ну или опять же мб где-то можно взять исходники какого нибудь блога на Django чтобы покопаться?
  • Вопрос задан
  • 6388 просмотров
Подписаться 5 Оценить Комментировать
Ответ пользователя odmin4eg К ответам на вопрос (6)
@odmin4eg
У меня примерно вот так

class Post(models.Model):
    title = models.CharField(max_length=64, verbose_name='Заголовок поста')
    uid = models.CharField(max_length=64, unique=True, blank=True, verbose_name='Url')
...........
    def get_absolute_url(self):
        return '/blog/post/%s.html' % self.uid

    def save(self, *args, **kwargs):
        if not self.uid:
            lastid = Post.objects.latest('id')
            self.uid = str(lastid.id + 1 ) +'-'+ createUid(self.title)
        super(Post, self).save(*args, **kwargs)


в файле functions.py
import trans

def createUid(uid):
	return uid.encode('trans').replace(' ', '_').lower();


Урла получается вот такой
/blog/post/149-eroticheskie_gifki.html
Ответ написан
Комментировать