当前位置: 首页>>代码示例>>Python>>正文


Python Post.get_absolute_url方法代码示例

本文整理汇总了Python中biostar.apps.posts.models.Post.get_absolute_url方法的典型用法代码示例。如果您正苦于以下问题:Python Post.get_absolute_url方法的具体用法?Python Post.get_absolute_url怎么用?Python Post.get_absolute_url使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在biostar.apps.posts.models.Post的用法示例。


在下文中一共展示了Post.get_absolute_url方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: ApiPostTest

# 需要导入模块: from biostar.apps.posts.models import Post [as 别名]
# 或者: from biostar.apps.posts.models.Post import get_absolute_url [as 别名]
class ApiPostTest(TestCase):
    def setUp(self):
        # Disable haystack logger (testing will raise errors on more_like_this field in templates).
        haystack_logger.setLevel(logging.CRITICAL)

        # Create a user.
        self.user = User.objects.create(email='[email protected]', password='...')

        # Create a post.
        title = "Post 1, title needs to be sufficiently long"
        content = ('Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod'
                   'tempor incididunt ut labore et dolore magna aliqua.')
        post_type = Post.QUESTION
        tag_val = 'tag_val'
        self.post = Post(title=title, content=content, tag_val=tag_val, author=self.user,
                         type=post_type)
        self.post.save()

        # Create a vote.
        self.vote = Vote.objects.create(author=self.user, post=self.post, type=Vote.UP)

    def test_invalid_post_id(self):
        r = self.client.get(reverse('api-post', kwargs={'id': 1115}))
        self.assertEqual(r.status_code, 404)

    def test_naked_post(self):
        """
        A naked post with no replies, no bookmarks, no comments, ...
        """
        r = self.client.get(reverse('api-post', kwargs={'id': self.post.id}))
        content = json.loads(r.content)

        expected_post = {
            "answer_count": self.post.root.reply_count,
            "author": "test",
            "author_id": self.user.id,
            "book_count": self.post.book_count,
            "comment_count": self.post.comment_count,
            "creation_date": datetime_to_iso(self.post.creation_date),
            "has_accepted": self.post.has_accepted,
            "id": self.post.id,
            "lastedit_date": datetime_to_iso(self.post.lastedit_date),
            "lastedit_user_id": self.user.id,
            "parent_id": self.post.id,
            "rank": float(self.post.rank),
            "reply_count": self.post.reply_count,
            "root_id": self.post.id,
            "status": self.post.get_status_display(),
            "status_id": self.post.status,
            "subs_count": 1,
            "tag_val": "tag_val",
            "thread_score": self.post.thread_score,
            "title": self.post.title,
            "type": self.post.get_type_display(),
            "type_id": self.post.type,
            "url": 'http://example.com{}'.format(self.post.get_absolute_url()),
            "view_count": self.post.view_count,
            "vote_count": self.post.vote_count,
            "xhtml": self.post.content
        }
        self.assertDictEqual(content, expected_post)

    def test_post(self):
        """
        Regular post with replies, bookmarks, comments, ...
        """
        self.post.reply_count = 3
        self.post.book_count = 4
        self.post.comment_count = 5
        self.post.subs_count = 6
        self.post.view_count = 9
        self.post.vote_count = 7
        self.post.thread_score = 8
        self.post.has_accepted = True
        self.post.rank = 5.5
        self.post.save()

        expected_post = {
            "answer_count": self.post.root.reply_count,
            "author": "test",
            "author_id": self.user.id,
            "book_count": self.post.book_count,
            "comment_count": self.post.comment_count,
            "creation_date": datetime_to_iso(self.post.creation_date),
            "has_accepted": self.post.has_accepted,
            "id": self.post.id,
            "lastedit_date": datetime_to_iso(self.post.lastedit_date),
            "lastedit_user_id": self.user.id,
            "parent_id": self.post.id,
            "rank": float(self.post.rank),
            "reply_count": self.post.reply_count,
            "root_id": self.post.id,
            "status": self.post.get_status_display(),
            "status_id": self.post.status,
            "subs_count": self.post.subs_count,
            "tag_val": "tag_val",
            "thread_score": self.post.thread_score,
            "title": self.post.title,
            "type": self.post.get_type_display(),
            "type_id": self.post.type,
#.........这里部分代码省略.........
开发者ID:B-Rich,项目名称:biostar-central,代码行数:103,代码来源:test_api_post.py


注:本文中的biostar.apps.posts.models.Post.get_absolute_url方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。