我有一个有两个视图请求的Django应用程序。第一个请求(“add_item”)是添加请求,它进行一些验证,然后最终将一个项添加到用户的队列中。第二个请求命中用户的Facebook提要,遍历帖子,并将其中一些添加到他们的队列中。理想情况下,我不想在第二个请求中复制添加的逻辑。我宁愿在第二个请求的循环中调用第一个请求。
我无法弄清楚如何执行此操作并仍然在请求中传递用户的上下文。有没有人有如何做到这一点的例子?我尝试传递POST数据和第一个请求所需的用户上下文:
request = { "POST": { "queue_id": 1, "data": "some_data_to_add" }, "user": request.user }
add_item(request)
但是,request.user没有正确序列化。我也很确定我不能以这种方式传递POST数据,我确信它也需要以某种方式序列化。总的来说,我认为这不是做这样的事情的标准方式。
答案 0 :(得分:0)
创建一个单独的视图,执行将项添加到队列中的任务,并从第一个和第二个视图调用该函数。
例如:
def adding_items(<necessary params>):
item add logic here.
def first_view(request):
# call adding items to update queue.
adding_items( <params> )
def second_view(request):
# call adding items to update queue.
adding_items( <params> )
多数民众赞成:)