博文相关接口

列表页接口实现

发起GET请求,通过查询字符串http://url/posts/?page=2 查询第二页数据
实现过程
request: GET ?page=5&size=20-> 视图 get -> json 文章列表

# post/views.py
class PostView(View): # 不需要装饰器决定方法了
 def get(self, request:HttpRequest): # 获取全体文章走这里
print('get ~~~~~~~~~~~~~~~~~')
try:
posts = Post.objects.order_by('-pk')
print(posts.query)
return JsonResponse({
'posts':[
jsonify(post, allow=['id', 'title'])
for post in posts
]
})
except Exception as e:
print(e)
return HttpResponse(status=400)

进一步完整分页功能

GET /posts/?page=3&size=20 文章列表页,视图类PostView
响应
200 成功返回文章列表
class PostView(View):#不需要装饰器决定方法
    def get(self,request:HttpRequest):#获取全体文章
        try:
            page=int(request.GET.get('page',1))
            page=page if page>0 else 1
        except:
            page=1
        try:
            size=int(request.GET.get('size',20))
            size=size if size>0 and size<101 else 20
        except:
            size=20
        try:
            start=(page-1)*size
            posts=Post.objects.order_by('-pk')
            total=posts.count()

            posts=posts[start:start+size]
            return JsonResponse({
                'posts':[
                    jsonify(post,allow=['id','title'])
                    for post in posts
                ],
                'pagination':{
                    'page':page,
                    'size':size,
                    'total':total,
                    'pages':math.ceil(total/size)
                }
            })
        except Exception as e:
            return HttpResponse(status=400)
要使用微博API接口提取当前登录用户信息和博文信息,首先需要完成以下几个步骤: 1. **注册微博开发者账号**:访问微博开放平台(https://open.weibo.com/),注册一个开发者账号,并创建一个应用以获取API Key和API Secret。 2. **获取Access Token**:通过OAuth 2.0认证流程,获取用户的Access Token。这个过程通常包括用户授权和应用获取授权码,然后使用授权码交换Access Token。 3. **调用API接口**:使用获取到的Access Token,调用微博提供的API接口来获取用户信息和博文信息。 以下是一个简单的示例代码,展示了如何使用Python和`requests`库来获取用户信息和博文信息: ```python import requests # 替换为你的API Key和API Secret API_KEY = 'your_api_key' API_SECRET = 'your_api_secret' # 获取Access Token的URL TOKEN_URL = 'https://api.weibo.com/oauth2/access_token' # 获取用户信息的URL USER_INFO_URL = 'https://api.weibo.com/2/users/show.json' # 获取博文信息的URL STATUSES_URL = 'https://api.weibo.com/2/statuses/user_timeline.json' # 替换为你的Access Token ACCESS_TOKEN = 'your_access_token' # 获取用户信息 def get_user_info(access_token): params = { 'access_token': access_token, 'uid': 'user_id' # 替换为用户的ID } response = requests.get(USER_INFO_URL, params=params) return response.json() # 获取博文信息 def get_statuses(access_token): params = { 'access_token': access_token, 'uid': 'user_id', # 替换为用户的ID 'count': 20 # 获取的博文数量 } response = requests.get(STATUSES_URL, params=params) return response.json() # 示例调用 user_info = get_user_info(ACCESS_TOKEN) statuses = get_statuses(ACCESS_TOKEN) print("用户信息:", user_info) print("博文信息:", statuses) ``` 请注意: 1. 替换`your_api_key`和`your_api_secret`为你在微博开放平台创建应用时获得的API Key和API Secret。 2. 替换`your_access_token`为通过OAuth 2.0认证流程获取到的Access Token。 3. 替换`user_id`为你要查询的用户ID。 通过这些步骤,你可以使用微博API接口提取当前登录用户信息和博文信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值