【问题标题】:Url in a blog post django博客文章 django 中的网址
【发布时间】:2011-09-13 17:45:48
【问题描述】:

https://github.com/nathanborror/django-basic-apps/blob/master/README.rst我正在尝试实现这个博客模块我的问题是我正在编写一个通用函数,当我获取一个博客时得到一个 url

def Myfunc(request):
  p = Post.objects.get(pk=12)
  p.get_absolute_url //This prints blog/2011/jun/13/fgfgf/

我的问题是如何获取带有域名的 url 或者在代码中处理的地方..

EDIT: i.e, @987654322@

模型字段为,

  class Post(models.Model):
      """Post model."""
      STATUS_CHOICES = (
          (1, _('Draft')),
          (2, _('Public')),
      )
      title = models.CharField(_('title'), max_length=200)
      slug = models.SlugField(_('slug'), unique_for_date='publish')
      author = models.ForeignKey(User, blank=True, null=True)
      body = models.TextField(_('body'), )
      tease = models.TextField(_('tease'), blank=True, help_text=_('Concise text suggested. Does not appear in RSS feed.'))
      status = models.IntegerField(_('status'), choices=STATUS_CHOICES, default=2)
      allow_comments = models.BooleanField(_('allow comments'), default=True)
      publish = models.DateTimeField(_('publish'), default=datetime.datetime.now)
      created = models.DateTimeField(_('created'), auto_now_add=True)
      modified = models.DateTimeField(_('modified'), auto_now=True)
      categories = models.ManyToManyField(Category, blank=True)
      #created_by = models.ForeignKey(UserProfile)
      tags = TagField()
      objects = PublicManager()

      class Meta:
          verbose_name = _('post')
          verbose_name_plural = _('posts')
          db_table  = 'blog_posts'
          ordering  = ('-publish',)
          get_latest_by = 'publish'

      def __unicode__(self):
          return u'%s' % self.title

      @permalink
      def get_absolute_url(self):
          return ('blog_detail', None, {
              'year': self.publish.year,
              'month': self.publish.strftime('%b').lower(),
              'day': self.publish.day,
              'slug': self.slug
          })

【问题讨论】:

    标签: django django-models django-views django-urls


    【解决方案1】:

    您可以使用站点框架来获取完全限定的 url - 根据 https://docs.djangoproject.com/en/1.2/ref/contrib/sites/

    【讨论】:

    • 我们不能对 django 1.2.1 版本做同样的事情